match_mip_2d — 3D match_localize op

• Data kinds: voxel × voxel → position

• Call: import fullseye as fs; fs.ledger.match_mip_2d(scene_vol, model_vol, device='cpu') (implementation को सीधे call करना हो तो import match3d; match3d.match_mip_2d(scene_vol, model_vol, device='cpu'), registry से लेना हो तो ops3d.get("match_mip_2d"))

• GPU: इस op का GPU path है (device="cuda")

उपयोग

MIP projection → 2D NCC (structure=voxel → 2D × method=NCC, conversion=orthogonal MIP)।

3 orthogonal दिशाओं के maximum intensity projection से समस्या को 3 2D समस्याओं में बदलता है, मौजूदा 2D NCC से locate करता है → 3 images से 3D coordinates का redundant अनुमान लगाता है। पूरे 3D NCC से सस्ता, coarse alignment के लिए। बिना rotation वाली translation search के लिए उपयुक्त।

प्रक्रिया: voxel_to_mips से scene और model दोनों के 3 MIP बनाए जाते हैं; हर projection में model MIP के > 5%·max का bbox काटकर template बनाया जाता है, और accel_match.ncc_locate_batch (2D NCC, template-center convention) से position ली जाती है। Axis 0 को collapse करने वाला projection (y,x), axis 1 वाला (z,x), axis 2 वाला (z,y) देता है, इसलिए हर coordinate 2 images से मिलता है, और उनका औसत लौटाया जाता है। Return value (3,) float64 का [z, y, x] है (integer NCC positions का औसत, इसलिए .5 के step में)। score नहीं लौटाता।

• Position बताती है कि काटे गए bbox template का center scene MIP में कहाँ पड़ता है। यह model volume का

center नहीं है।

• जिन projections में model MIP पूरा 0 हो उन्हें छोड़ दिया जाता है; अगर कोई coordinate 1 image से भी न मिले तो वह 0.0 होता है (कोई exception

नहीं आता)।

• MIP overlap के कारण depth जानकारी खो देते हैं, इसलिए कई वस्तुओं और clutter में कमज़ोर हैं।

आगे: इस coarse position को refine_translation_lk / refine_lm को दें।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• matching_localize — py -3.11 examples_3d/matching_localize.py

वे अगले ops जिनसे type जुड़ता है (position को input के रूप में लेते हैं)

refine_peak_newton · refine_translation_lk · refine_lm · fuse_to_voxel

इसी category के (match_localize)

match_shape_3d · match_chamfer_3d · match_curvature_3d · match_hough_3d · match_points_ncc


*Provenance: match3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.