morph_close3d — 3D morphology op

• Datenarten: voxel → voxel

• Aufruf: import fullseye as fs; fs.ledger.morph_close3d(vol, r=1, device='cpu', se='cube') (die Implementierung direkt: import match3d; match3d.morph_close3d(vol, r=1, device='cpu', se='cube'); aus dem Register: ops3d.get("morph_close3d"))

• GPU: Dieser Operator hat einen GPU-Pfad (device="cuda")

Verwendung

3-D-Closing = Dilatation → Erosion. Füllt die dunklen Strukturen (Lücken und Hohlräume), die kleiner als das Strukturelement sind.

morph_erode3d(morph_dilate3d(vol, r, ...), r, ...). Die Ausgabe ist mindestens die Eingabe (close >= vol):

dunkle Löcher, Risse und Flächenlücken kleiner als das SE (cube mit Seitenlänge 2r+1 oder ball mit Radius r) werden mit der umgebenden Helligkeit gefüllt, große dunkle Bereiche bleiben (idempotent). Außerhalb des Rands gilt −∞ bei dilation und +∞ bei erosion, daher werden die Ränder nicht ungewollt gefüllt. se ist "cube"/"ball" (sonst ValueError), device wirkt nur bei cube+torch. Rückgabewert (D,H,W) float32 numpy.

Anwendung: close − vol ist morph_blackhat3d (Extraktion kleiner dunkler Strukturen). Löcher in der Oberfläche von Punktwolken-Splats füllen, Löcher in der Belegung vor signed_distance_field füllen.

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)

• morphology_3d — py -3.11 examples_3d/morphology_3d.py

Typkompatible Folge-Operatoren (nehmen voxel als Eingabe)

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

Gleiche Kategorie (morphology)

morph_dilate3d · morph_erode3d · morph_open3d · morph_gradient3d · morph_tophat3d · morph_blackhat3d


*Provenance: match3d.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.