volume_downsample — 3D preprocess op

• Datenarten: voxel → voxel

• Aufruf: import fullseye as fs; fs.ledger.volume_downsample(vol, factor, mode='mean') (die Implementierung direkt: import volops; volops.volume_downsample(vol, factor, mode='mean'); aus dem Register: ops3d.get("volume_downsample"))

Verwendung

Block-Pooling eines (D, H, W)-Volumens um einen ganzzahligen *factor* je Achse (Datenreduktion).

Große CT- / Laminographie- / Simulationsvolumen müssen vor den schwereren 3-D-Operatoren ausgedünnt werden (Frangi/Sato sind auf ~256**3 Voxel begrenzt, siehe MAX_EIGEN_VOXELS). Dies ist das Volumen-Gegenstück zum Punktwolken- voxel_grid_downsample und zum Mesh-decimate_qem -- das dritte Bein von Fullseyes *Ausdünnungs*-Familie (decimation), eines pro 3-D-Datensorte.

Parameters

vol : array_like, shape (D, H, W)

Eingabevolumen (in float64 umgewandelt; NaN/Inf abgewiesen).

factor : int or (fz, fy, fx)

Blockgröße pro Achse, jeweils >= 1. Die Ausgabeform ist

(D//fz, H//fy, W//fx); ein nachlaufender Teilblock, der keinen

vollen Faktor füllt, wird verworfen (deterministisch, ohne Randverzerrung).

mode : {'mean', 'max', 'stride'}

• 'mean' -- Average-Pooling. Bandbegrenzt vor dem Unterabtasten (die Anti-Aliasing-Wahl); der richtige Standard für Grauwert-CT / MRI.

• 'max' -- Max-Pooling. Erhält dünne helle Strukturen (Knochen, Gefäße, Defektvoxel), die das Mitteln auswaschen würde.

• 'stride' -- einfache Unterabtastung vol[::fz, ::fy, ::fx] (am schnellsten, aber mit Aliasing -- kein Vorfilter).

Returns

ndarray, shape (D//fz, H//fy, W//fx), float64

Das herunterskalierte Volumen. Der Abstand skaliert mit demselben Faktor: ein Eingabe-

abstand (sz, sy, sx) mm wird zu (sz*fz, sy*fy, sx*fx) mm.

Raises

ValueError

Eingabe nicht 3-D, eine Faktorkomponente < 1 oder größer als ihre Achse, oder ein

unbekannter *mode* (fail-closed).

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• depth_sensors — Tiefensensoren — Messprinzipien, Werte realer Geräte, wie Messlücken entstehen

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)

• volume_downsampling — py -3.11 examples_3d/volume_downsampling.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 (preprocess)

statistical_outlier_removal · radius_outlier_removal · voxel_grid_downsample · mls_smooth


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