edt_jfa_vector — 3D feature op

• Data kinds: voxel → flow_dense

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

• Ledger के ज़रिए return value: fullseye.ledger.edt_jfa_vector(...) केवल घोषित out type flow_dense का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.edt_jfa_vector.raw(...) का उपयोग करें, या match3d.edt_jfa_vector को सीधे call करें।

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

उपयोग

हर voxel से निकटतम seed तक displacement (3, D, H, W) (flow_dense, dz, dy, dx [voxel]), GPU के JFA से।

edt_jfa केवल distance के मान लौटाता है, पर JFA अंदर ही सबसे पास के seed के coordinates साथ रखता है —— यह op उन्हें वैसे ही output करता है (अतिरिक्त लागत लगभग 0)। CPU / scipy रास्ता vol_nearest_seed_vector है (वही मान; N≤160 पर बिल्कुल मेल मापा गया)। Seed न हो तो ValueError (edt_jfa 1e6 पर saturate करता है, पर दिशा के लिए "अनंत दूर" जैसा कुछ नहीं होता)। Return torch float32 (ledger से होकर numpy)।

संदर्भ (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 करते हैं)

• nearest_seed_partition — py -3.11 examples_3d/nearest_seed_partition.py

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

fuse_to_voxel

इसी category के (feature)

sobel3d · hessian3d · curvature_maps · edt_jfa · vol_frangi · vol_local_std · vol_local_thickness · vol_orientation_coherence


*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.