regionprops op• Datenarten: voxel → primitive
• Aufruf: import fullseye as fs; fs.ledger.inner_box3(vol) -> 'dict' (die Implementierung direkt: import regionprops3d; regionprops3d.inner_box3(vol) -> 'dict'; aus dem Register: ops3d.get("inner_box3"))
Die größte achsenparallele Box, die vollständig in eine binäre Voxelregion einbeschrieben ist (das 3-D-Gegenstück zu inner_rectangle1).
Exakte Lösung: Für jedes Tiefenintervall [z0, z1] muss die Box innerhalb des logischen UND der Schichten z0..z1 liegen (Voxel, die in allen Schichten Vordergrund sind). Das größte einbeschriebene 2-D-Rechteck in diesem UND (Histogrammverfahren = derselbe Kern wie inner_rectangle1) × Intervalllänge ist eine Kandidatenbox, und das Maximum über alle Intervalle ist die exakte größte einbeschriebene Box. O(D^2 * H * W).
dict
Ecken min / max in (depth,row,col)-Achsenreihenfolge, center (+ cd/cr/cc),
volle Breite size und volume als Voxelanzahl.
ValueError
Nicht-3-D-Eingabe oder eine Region ohne Vordergrund (keine einbeschriebene Box).
Ergänzung:
• min / max sind Voxelindizes einschließlich beider Enden (float-Arrays). size = max - min + 1, volume = prod(size). center ist (min + max) / 2 und kann .5 enthalten. Der registrierte Name auf der 2-D-Seite ist r2_inner_rectangle1.
• Für jedes Tiefenintervall sucht eine Python-Schleife das größte Rechteck, O(D²·H·W). Sobald das UND leer wird, bricht die Suche für dieses z0 ab. Bei großen Volumen langsam.
• Gibt es mehrere Kandidaten gleichen Volumens, wird der zuerst gefundene zurückgegeben (kleineres z0, darunter kleineres z1).
• Die Eingabe wird mit allem außer 0 als Vordergrund in bool umgewandelt (auch NaN ist Vordergrund). Die Achsenreihenfolge ist (depth, row, col).
• Typisch: erst mit largest_component auf 1 Objekt eingrenzen, dann aufrufen (sind mehrere Komponenten gemischt, ist es nicht unbedingt die Box der größten Komponente).
• measurement_uncertainty — Messunsicherheit und Kalibrierung — was nötig ist, um zu behaupten, dass man misst
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• inner_box_inspection — py -3.11 examples_3d/inner_box_inspection.py
primitive als Eingabe)fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment
regionprops)label_components · region_props · largest_component · filter_by_volume · vol_label · vol_region_props
*Provenance: regionprops3d.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.