shape_descriptor op• Data kinds: descriptor × descriptor → measurement
• Call: import fullseye as fs; fs.ledger.shape_distance(desc_a, desc_b, metric: 'str' = 'l1') -> 'float' (to call the implementation directly, import descriptors3d; descriptors3d.shape_distance(desc_a, desc_b, metric: 'str' = 'l1') -> 'float'; from the registry, ops3d.get("shape_distance"))
The distance between two descriptors. Smaller means a more similar shape.
desc_a, desc_b : array_like
Vectors of the same length, as returned by describe() and the like.
metric : {"l1", "jsd"}
• "l1" : L1 (Manhattan) distance. Natural for a concatenated descriptor (a sequence of partial distributions); the default.
• "jsd": Jensen-Shannon distance (treats the whole as 1 distribution, normalises it to sum 1, then takes the square root of the JS divergence). A bounded index that stays within 0 to 1.
float
Non-negative distance.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• moment_invariants — py -3.11 examples_3d/moment_invariants.py
• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py
• shape_retrieval — py -3.11 examples_3d/shape_retrieval.py
measurement as input)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
shape_descriptor)d2_distribution · a3_distribution · extent_signature · describe
*Provenance: descriptors3d.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.