signed_distance_field — 3D transform op

• Datenarten: voxel → sdf

• Aufruf: import fullseye as fs; fs.ledger.signed_distance_field(vol, device='cpu', iso=0.5) (die Implementierung direkt: import match3d; match3d.signed_distance_field(vol, device='cpu', iso=0.5); aus dem Register: ops3d.get("signed_distance_field"))

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

Verwendung

Belegungs-/Dichtevoxel → ein vorzeichenbehaftetes Distanzfeld SDF (innen < 0, außen > 0). edt_jfa auf beide Seiten angewandt.

Das SDF ist eine hervorragende Darstellung für das Matching (glatt, Gradient = Normale, 0-Isofläche = Oberfläche). Es entsteht aus der Differenz der inside/outside- Euklidischen Abstände. GPU native. Wechselseitige Umwandlung voxel↔SDF↔occupancy möglich.

Definition: Mit occ = vol > iso ist d_out = edt_jfa(occ) (Abstand jedes Voxels zum nächsten belegten Voxel, innerhalb der Belegung 0), d_in = edt_jfa(~occ) (zum nächsten unbelegten Voxel) und sdf = d_out − d_in. Außen +Abstand, innen −Abstand (in Voxeleinheiten, euklidisch). Da es Abstände zwischen Voxelzentren sind, wird kein Voxel 0: belegte Voxel am Rand sind −1, benachbarte unbelegte Voxel +1 (die 0-Isofläche liegt zwischen den Voxeln). iso ist der Schwellwert Dichte → Belegung (Standard 0.5; bei Anzahldichte also "1 Punkt oder mehr"). Bei einem vollständig belegten oder leeren Volume sättigt der Abstand auf der Seite ohne Seeds bei 1e6: vollständig belegt ergibt −1e6, vollständig leer +1e6 (keine Exception). Rückgabewert (D,H,W) float32 numpy.

Nachgelagert: mit sdf_to_occupancy zurück, Oberfläche mit voxel_to_mesh(sdf, iso=0.0), Normalenfeld mit sobel3d.

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)

• transforms_repr — py -3.11 examples_3d/transforms_repr.py

Typkompatible Folge-Operatoren (nehmen sdf als Eingabe)

sdf_to_occupancy · fuse_to_voxel · integrate · extract_surface_points · query_distance · sdf_union · sdf_intersect · sdf_subtract

Gleiche Kategorie (transform)

points_to_voxel · gaussians_to_voxel · mesh_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth


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