rle_region op• Datenarten: voxel → rle_region
• Aufruf: import fullseye as fs; fs.ledger.vol_rle_encode(vol_binary) -> 'VolRLE' (die Implementierung direkt: import volregion; volregion.vol_rle_encode(vol_binary) -> 'VolRLE'; aus dem Register: ops3d.get("vol_rle_encode"))
Codiert ein Binärvolumen als x-Runs (die 3-D-HALCON-Regionendarstellung).
Eine Eingabe, die nicht {0, 1} ist, wird bei > 0.5 geschwellt (die volops- Konvention). NaN / Inf werden abgewiesen. Eine leere Maske wird zu null runs kodiert — eine gültige region, die beim Dekodieren komplett Hintergrund ergibt.
Speicher: proportional zur Anzahl der runs (~Oberflächenkomplexität pro Ebenen- zeile), nicht zur Voxelanzahl — gemessen 1/145 der dichten bool-Maske an einem realistischen 384**3-Bauteil.
Was entsteht: Ein binäres (D, H, W)-Volume wird in eine Liste zusammenhängender Vordergrundintervalle entlang der x-Achse (letzte Achse) (runs) umgewandelt. VolRLE ist eine frozen dataclass mit rows (Ebenenzeilen-id z*H + y, int32, aufsteigend), starts / ends (x-Bereich [start, end) des runs; end ist exklusiv) und shape (das ursprüngliche (D, H, W)). Run i steht für vol[z, y, starts[i]:ends[i]].
Argumente und Prüfung (fail-closed):
• vol_binary: 3-D-Array. bool wird unverändert verwendet, alles andere in float64 umgewandelt, bei NaN/Inf ValueError, dann mit > 0.5 binarisiert.
• Ist es nicht 3-D oder überschreitet die Voxelanzahl MAX_VOXELS (1 << 27 ≈ 1.34 × 10^8), ValueError.
• Eine leere Maske wird zu einem VolRLE mit 0 runs (kein Fehler).
Achtung: Die Achsenreihenfolge ist [z, y, x] (depth, row, col). Runs verlaufen nur entlang x, daher haben Formen, die entlang x fein zerfallen (Streifen, Rauschen), mehr runs und weniger Kompressionsvorteil. vol_rle_volume / vol_rle_bbox / vol_rle_centroid antworten auf den runs, ohne zu dekodieren. Mengenoperationen: vol_rle_union / vol_rle_intersect / vol_rle_difference; zurück zum dichten Array mit vol_rle_decode.
• 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.
• rle_region_efficiency — py -3.11 examples_3d/rle_region_efficiency.py
rle_region als Eingabe)vol_rle_decode · vol_rle_volume · vol_rle_bbox · vol_rle_centroid · vol_rle_union · vol_rle_intersect · vol_rle_difference · fuse_to_voxel
rle_region)vol_rle_decode · vol_rle_volume · vol_rle_bbox · vol_rle_centroid · vol_rle_union · vol_rle_intersect · vol_rle_difference · vol_rle_components
*Provenance: volregion.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.