label_components — 3D regionprops op

• Data kinds: voxel → labels

• Call: import fullseye as fs; fs.ledger.label_components(vol, connectivity: 'int' = 26) (implementation को सीधे call करना हो तो import regionprops3d; regionprops3d.label_components(vol, connectivity: 'int' = 26), registry से लेना हो तो ops3d.get("label_components"))

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

• मूल function का return: (labels, n) → labels

उपयोग

3D binary volume को connected components में label करता है।

Parameters

vol : array_like

bool या 0/1 का 3D array।

connectivity : int

6 (faces) / 18 (faces+edges) / 26 (faces+edges+corners) में से कोई एक।

Returns

labels : ndarray(int)

vol जैसी ही shape। background 0, हर connected component को 1..n का label।

n : int

connected components की संख्या।

अतिरिक्त:

• input को astype(bool) से binary बनाया जाता है। 0 के अलावा सब foreground है; ध्यान दें कि float का NaN भी True (foreground) बन जाता है।

• axis क्रम (z, y, x) = numpy के array axis का क्रम है। labels का dtype scipy.ndimage.label से लौटा integer type है (आमतौर पर int32)। foreground न हो / ख़ाली array हो तो int32 का zero array और 0 लौटाता है।

• label numbers scipy के scan क्रम में दिए जाते हैं, volume के क्रम में नहीं।

• Raises ValueError: 3-dimensional न होने वाला input, connectivity 6/18/26 के अलावा।

• आपस में छूती वस्तुएँ 1 component में मिल जाती हैं। अलग करना हो तो पहले चरण में morph_erode3d / morph_open3d या vol_watershed से काटें।

• आगे के चरण: region_props (measurement), largest_component / filter_by_volume (चयन), vol_select_labels (features से छँटाई), vol_colorize_labels (visualisation)।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• measurement_uncertainty — Measurement uncertainty और calibration — 'हम माप रहे हैं' कहने के लिए क्या चाहिए

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

• region_props_3d — py -3.11 examples_3d/region_props_3d.py

• watershed3d — py -3.11 examples_3d/watershed3d.py

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

fuse_to_voxel · vol_region_props

इसी category के (regionprops)

region_props · largest_component · filter_by_volume · inner_box3 · vol_label · vol_region_props


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

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