render_volume_projection — 3D render op

• Datenarten: voxel → image2d

• Aufruf: import fullseye as fs; fs.ledger.render_volume_projection(vol, azimuth=0.0, elevation=0.0, mode='xray', device='cpu') (die Implementierung direkt: import match3d; match3d.render_volume_projection(vol, azimuth=0.0, elevation=0.0, mode='xray', device='cpu'); aus dem Register: ops3d.get("render_volume_projection"))

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

Verwendung

Projiziert ein Voxelvolumen aus beliebigem Blickpunkt nach 2-D (mode = xray = Schwächungsintegral / mip = Maximum). Für DRR (Röntgen) und Weltmodell-Beobachtungen.

Dreht das volume mit grid_sample in Blickrichtung und projiziert entlang einer Achse. Die Version von voxel_to_mips für beliebige Blickpunkte.

Die Rotation erfolgt mit affine_grid (Koordinatenreihenfolge x=W, y=H, z=D) um die Mitte des volume: azimuth um die H-Achse (mischt W und D), elevation um die W-Achse (mischt H und D), beide in Grad, in der Reihenfolge Rx @ Ry. Das gedrehte volume wird entlang Achse 0 (D) zusammengedrückt, daher ist die Sichtlinie die gedrehte D-Achse. mode="mip" nimmt das Maximum, alles andere ist eine Summe ("xray" ist nicht die Beer-Lambert-Exponentialfunktion, sondern eine einfache Aufsummierung; für ein Schwächungsbild exp(−Σ) beim Aufrufer anwenden). Rückgabewert (H, W) float32 numpy. Außerhalb des volume wird mit 0 gefüllt, daher sinkt die Summe, wenn die Rotation Ecken abschneidet (ein fast kubisches volume verwenden und das Objekt in die Mitte legen). Das mip mit azimuth=elevation=0 hat dieselbe Orientierung wie voxel_to_mips()[0].

Verwendung: Synthese von DRRs, Erzeugung von 2-D-Templates für ncc_locate, Version von match_mip_2d für beliebige Blickpunkte.

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• blender_interop — Zusammen mit Blender — Form bauen, mit fullseye messen (Fallstricke: Achsen, Einheiten, Referenzdaten)

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)

• ct_hand_radiograph — py -3.11 examples_3d/ct_hand_radiograph.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade

Gleiche Kategorie (render)

project_points · render_point_depth · render_shaded · ambient_occlusion · cast_shadow · phong_shade · matcap_shade · supersample_mesh


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