Skip to content

Fix/surface matcher remaining issues#32

Open
ishika24755 wants to merge 2 commits into
humanai-foundation:mainfrom
ishika24755:fix/surface-matcher-remaining-issues
Open

Fix/surface matcher remaining issues#32
ishika24755 wants to merge 2 commits into
humanai-foundation:mainfrom
ishika24755:fix/surface-matcher-remaining-issues

Conversation

@ishika24755

Copy link
Copy Markdown

What's this PR about?

This cleans up three small but impactful bugs left over after the main fallback-score fixes in fix/surface-matcher-fallback-scores. Each one could cause silent incorrect behavior or a runtime crash during matching.


Changes

1. Curvature similarity — asymmetric zero check (andor)

The previous check only returned None when both histograms were zero. If just one fragment had missing curvature data, it would still compute a score against an empty histogram — producing a meaningless but non-zero result that feeds into the overall match score.

# Before
if np.sum(hist1) == 0 and np.sum(hist2) == 0:

# After
if np.sum(hist1) == 0 or np.sum(hist2) == 0:

…nctions

- compute_shape_similarity: return None instead of 0.95 when eigenvalues
  are missing, so the sub-score is excluded rather than fabricated.
- compute_curvature_similarity: return None instead of clamping to 0.90
  when both curvature histograms are all-zero (feature extraction failed).
- compute_boundary_similarity: return None when neither boundary_length
  nor compactness is available; average only sub-metrics that have real
  values instead of using a 0.85 placeholder.
- compute_overall_similarity: skip None sub-scores and renormalize the
  remaining weights to sum to 1.0, keeping the final score in [0, 1]
  and grounded entirely in available geometric data.

Fixes: inflated match scores causing false-positive fragment pairings
that corrupt downstream alignment and reconstruction quality.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant