regionprops op• Data kinds: voxel → table
• Call: import fullseye as fs; fs.ledger.region_props(vol, connectivity: 'int' = 26) -> 'list[dict]' (implementation को सीधे call करना हो तो import regionprops3d; regionprops3d.region_props(vol, connectivity: 'int' = 26) -> 'list[dict]', registry से लेना हो तो ops3d.get("region_props"))
हर connected component की region properties की सूची लौटाता है।
vol : array_like
bool या 0/1 का 3D array।
connectivity : int
6 / 18 / 26।
list[dict]
हर component के लिए एक dict। keys:
• label : label number (int)
• volume : voxels की संख्या (int)
• centroid : centroid (z, y, x) का tuple (float)
• bbox : (z0, y0, x0, z1, y1, x1)। z1/y1/x1 exclusive ऊपरी सिरे हैं (stop)
• extent : volume / bbox volume (fill fraction, 0..1)
• principal_axes : (3,3) principal axis vectors (rows, eigenvalues घटते क्रम में)
• principal_lengths: (3,) principal axis लंबाई = coordinate covariance के eigenvalues का square root (घटते क्रम में)
• equivalent_radius: equivalent sphere radius (3V/4π)^(1/3)
• surface_area : खुले faces की गिनती से approximation (voxel face इकाई में)
• sphericity : समान volume वाले sphere का surface area / वास्तविक surface area (sphere=1 के क़रीब, discretisation के कारण <1)
foreground voxels न हों (या input ख़ाली हो) तो ख़ाली list।
अतिरिक्त:
• सभी मात्राएँ voxel units में हैं (spacing correction नहीं)। वास्तविक माप चाहिए तो volume को voxel volume से, और centroid / bbox / principal_lengths को हर axis की spacing से गुणा करें (anisotropic होने पर principal axis की दिशाएँ विकृत होती हैं)।
• principal_lengths coordinates के population covariance (N से भाग) के eigenvalues का square root है; यह component की radius नहीं बल्कि coordinates का standard deviation है। 1 voxel वाले component में principal_axes identity matrix और principal_lengths सब 0 होते हैं।
• surface_area array के किनारे से लगे faces भी गिनता है (zero padding)। discretisation के कारण sphericity sphere के लिए भी लगभग 0.66 पर सीमित रहती है (module docstring देखें)।
• labels 1..n के क्रम में हैं (label_components जैसा ही scipy scan क्रम), volume के क्रम में नहीं। sorting caller करता है।
• input में 0 के अलावा सबको foreground मानकर bool बनाया जाता है (NaN भी foreground)। Raises ValueError: 3-dimensional न होने वाला input, connectivity 6/18/26 के अलावा।
• measurement_uncertainty — Measurement uncertainty और calibration — 'हम माप रहे हैं' कहने के लिए क्या चाहिए
• 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 के स्रोत।
• region_props_3d — py -3.11 examples_3d/region_props_3d.py
table को input के रूप में लेते हैं)fuse_to_voxel · mesh_select_lod
regionprops)label_components · 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.