Skip to main content

verify_connectivity

Function verify_connectivity 

Source
pub fn verify_connectivity(
    blocks: &[Block],
    face_matches: &[FaceMatch],
    tol: Float,
) -> (Vec<FaceMatch>, Vec<FaceMatch>)
Expand description

Verify that face-match diagonal corners are spatially consistent.

For each match, checks that block1’s lower/upper corner coordinates align with block2’s lower/upper corners (within tolerance). When the stored diagonal does not match, all permutations of block2’s face corners are tried. If a valid permutation is found the match is corrected; otherwise it is classified as mismatched.

Uses GCD reduction (same as connectivity_fast) for efficient lookups.

§Arguments

  • blocks - Full-resolution blocks.
  • face_matches - Face matches to verify (typically from connectivity_fast).
  • tol - Euclidean distance tolerance for corner matching.

§Returns

(verified, mismatched) where verified contains corrected matches and mismatched contains matches that could not be verified.