render op• Datenarten: voxel → rgb
• Aufruf: import fullseye as fs; fs.ledger.vol_render_transfer(vol, color=None, yaw: 'float' = 35.0, pitch: 'float' = 25.0, size: 'int' = 256, alpha_gain: 'float' = 1.0, static_alpha: 'float' = 0.0, background=(0.04, 0.04, 0.06), frame: 'bool' = True, depth_samples: 'int | None' = None, static_color=None) -> 'np.ndarray' (die Implementierung direkt: import videocube; videocube.vol_render_transfer(vol, color=None, yaw: 'float' = 35.0, pitch: 'float' = 25.0, size: 'int' = 256, alpha_gain: 'float' = 1.0, static_alpha: 'float' = 0.0, background=(0.04, 0.04, 0.06), frame: 'bool' = True, depth_samples: 'int | None' = None, static_color=None) -> 'np.ndarray'; aus dem Register: opsvideocube.get("vol_render_transfer"))
Rendert den Würfel aus beliebigem Blickwinkel durch Front-to-Back-α-Compositing (size, size, 3) float [0, 1] (rgb).
vol (T, H, W) ist die Opazität [0, 1] (video_spacetime_cube(mode="motion")). Die Farbe ist, wenn color übergeben wird, das Grau seiner Werte (gleiche Form, auf [0, 1] normiert); ist es ein (T, H, W, 3)-RGB-Würfel ([0, 1]), dessen Farbe; wird nichts übergeben, die Farbe der Zeit (blau = Anfang → rot = Ende). Übergibt man static_color (Grau derselben Form), wird die Helligkeit des statischen Hintergrunds darauf gesetzt (2026-09-21, damit die Trajektoriendarstellung von live4d "Trajektorien in der Farbe der Zeit, Hintergrund im Grau des ersten Frames" in 1 Compositing-Durchgang zeichnen kann). Färbt man die Trajektorien nach der Zeit, ist "in welche Richtung es sich bewegt hat" in 1 Bild ablesbar. Mit static_alpha > 0 wird der statische Hintergrund (Helligkeit von color, sonst grau) schwach überlagert -- der Wert ist die Gesamtopazität beim Durchqueren der Länge der längsten Würfelseite (0.15 bedeutet 15 %, wenn man durch die ganze längste Seite schaut, entlang kürzerer Seiten schwächer), unabhängig von der Anzahl der Samples ("statischer Inhalt" von Summagator). Orthografische Projektion; entlang der Sichtlinie werden depth_samples Punkte (Standard = größte Würfelseite) trilinear interpoliert abgetastet, und C = Σ α_i c_i Π_{j<i}(1 − α_j). frame=True zeichnet die 12 Kanten des Würfels schwach (ein Orientierungshinweis).
yaw ist die Drehung in der Ebene aus Zeitachse und x-Achse (0 = Zeitachse als Tiefe sehen = Ausrichtung, in der man das Video normal sieht), pitch ist der Höhenwinkel. Der Rechenaufwand pro 1 Bild ist size² × depth_samples (etwa 0.3 s für 256² × 64).
>>> rgb = vol_render_transfer(video_spacetime_cube(clip), yaw=40.0, pitch=20.0, static_alpha=0.02)
• Leitfaden zur Familie videocube
• 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.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• poc_print_layer_inspection — py -3.11 examples/poc_print_layer_inspection.py
• poc_video_cube — py -3.11 examples/poc_video_cube.py
rgb als Eingabe)—
render)*Provenance: videocube.py — VIDEOCUBE 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.