vol_render_transfer — VIDEOCUBE render op

• Data kinds: voxel → rgb

• Call: 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' (implementation को सीधे call करना हो तो 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', registry से लेना हो तो opsvideocube.get("vol_render_transfer"))

उपयोग

cube को किसी भी viewpoint से front-to-back α compositing से render करता है (size, size, 3) float [0, 1] (rgb)।

vol (T, H, W) opacity [0, 1] है (video_spacetime_cube(mode="motion"))। रंग: color देने पर उसके values (वही shape, [0, 1] पर normalise) का grey; अगर (T, H, W, 3) RGB cube ([0, 1]) हो तो वही रंग; कुछ न देने पर समय का रंग (नीला = शुरुआत → लाल = अंत)। static_color (वही shape वाला grey) देने पर स्थिर background की brightness उसी से तय होती है (2026-09-21, ताकि live4d की trajectory drawing "trajectory समय के रंग में, background पहले frame के grey में" 1 ही compositing में बना सके)। trajectories को समय से रंगने पर "किस ओर चला" 1 ही image में पढ़ा जा सकता है। static_alpha > 0 हो तो स्थिर background (color की brightness, न हो तो grey) हल्का overlay किया जाता है -- यह value cube की सबसे लंबी भुजा की लंबाई पार करने पर कुल opacity है (0.15 का मतलब सबसे लंबी भुजा जितनी गहराई तक देखने पर 15 %, छोटी भुजा की दिशा में उससे हल्का), और samples की संख्या पर निर्भर नहीं (Summagator का "static content")। orthographic projection; line of sight के साथ depth_samples points (default = cube की सबसे बड़ी भुजा) trilinear interpolation से लिए जाते हैं, और C = Σ α_i c_i Π_{j<i}(1 − α_j)। frame=True से cube के 12 edges हल्के बनाए जाते हैं (दिशा का संकेत)।

yaw time axis और x axis वाले plane में rotation है (0 = time axis को depth की तरह देखना = video को सीधे देखने वाली दिशा), pitch elevation है। 1 image का computation size² × depth_samples है (256² × 64 पर लगभग 0.3 s)।

>>> rgb = vol_render_transfer(video_spacetime_cube(clip), yaw=40.0, pitch=20.0, static_alpha=0.02)

उपयोग की विस्तृत guide

• videocube family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_print_layer_inspection — py -3.11 examples/poc_print_layer_inspection.py

• poc_video_cube — py -3.11 examples/poc_video_cube.py

वे अगले ops जिनसे type जुड़ता है (rgb को input के रूप में लेते हैं)

—

इसी category के (render)

video_cube_orbit


*Provenance: videocube.py — VIDEOCUBE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.