label_components — 3D regionprops op

• Datenarten: voxel → labels

• Aufruf: import fullseye as fs; fs.ledger.label_components(vol, connectivity: 'int' = 26) (die Implementierung direkt: import regionprops3d; regionprops3d.label_components(vol, connectivity: 'int' = 26); aus dem Register: ops3d.get("label_components"))

• Rückgabewert über das Register: fullseye.ledger.label_components(...) liefert nur den Wert des deklarierten Out-Typs labels (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.label_components.raw(...) oder rufe regionprops3d.label_components direkt auf.

• Rückgabe der Funktion: (labels, n) → labels

Verwendung

Labelt ein 3-D-Binärvolumen in Zusammenhangskomponenten.

Parameters

vol : array_like

3D-Array aus bool oder 0/1.

connectivity : int

Eines von 6 (Flächen) / 18 (Flächen+Kanten) / 26 (Flächen+Kanten+Ecken).

Returns

labels : ndarray(int)

Gleiche Form wie vol. Hintergrund 0, Labels 1..n für jede Zusammenhangskomponente.

n : int

Anzahl der Zusammenhangskomponenten.

Ergänzung:

• Die Eingabe wird mit astype(bool) binarisiert. Alles außer 0 ist Vordergrund; Achtung, auch float-NaN wird True (Vordergrund).

• Die Achsenreihenfolge ist (z, y, x) = numpy-Array-Achsenreihenfolge. Der dtype von labels ist der von scipy.ndimage.label gelieferte Ganzzahltyp (meist int32). Ohne Vordergrund / bei leerem Array werden ein int32-Nullarray und 0 zurückgegeben.

• Die Labelnummern werden in scipys Abtastreihenfolge vergeben, nicht nach Volumen.

• Raises ValueError: Eingabe nicht 3-dimensional, connectivity ungleich 6/18/26.

• Sich berührende Objekte verschmelzen zu 1 Komponente. Ist eine Trennung nötig, vorher mit morph_erode3d / morph_open3d oder vol_watershed schneiden.

• Nachgelagert: region_props (Messung), largest_component / filter_by_volume (Auswahl), vol_select_labels (Sieben nach Merkmalen), vol_colorize_labels (Visualisierung).

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• measurement_uncertainty — Messunsicherheit und Kalibrierung — was nötig ist, um zu behaupten, dass man misst

Referenzen (Beispieldaten, Literatur)

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

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• region_props_3d — py -3.11 examples_3d/region_props_3d.py

• watershed3d — py -3.11 examples_3d/watershed3d.py

Typkompatible Folge-Operatoren (nehmen labels als Eingabe)

fuse_to_voxel · vol_region_props

Gleiche Kategorie (regionprops)

region_props · largest_component · filter_by_volume · inner_box3 · 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.