render_volume_projection — 3D render op

• Data kinds: voxel → image2d

• Call: import fullseye as fs; fs.ledger.render_volume_projection(vol, azimuth=0.0, elevation=0.0, mode='xray', device='cpu') (implementation को सीधे call करना हो तो import match3d; match3d.render_volume_projection(vol, azimuth=0.0, elevation=0.0, mode='xray', device='cpu'), registry से लेना हो तो ops3d.get("render_volume_projection"))

• GPU: इस op का GPU path है (device="cuda")

उपयोग

voxel को किसी भी viewpoint से 2D पर project करता है (mode=xray=attenuation integral / mip=अधिकतम)। DRR (X-ray), world-model observation।

volume को grid_sample से view दिशा की ओर घुमाकर axis के साथ project करता है। voxel_to_mips का किसी भी viewpoint वाला संस्करण।

rotation affine_grid (coordinate क्रम x=W, y=H, z=D) से volume के केंद्र के चारों ओर होता है: azimuth H axis के चारों ओर (W और D को मिलाता है), elevation W axis के चारों ओर (H और D को मिलाता है), दोनों डिग्री में, Rx @ Ry के क्रम में। घुमाए गए volume को axis 0 (D) की दिशा में दबाया जाता है, इसलिए दृष्टि-रेखा घुमाई गई D axis है। mode="mip" अधिकतम मान लेता है, बाकी सब योग होते हैं ("xray" Beer-Lambert का exponential नहीं बल्कि साधारण जोड़ है; attenuation image चाहिए तो exp(−Σ) caller की ओर करें)। लौटाता है (H, W) float32 numpy। volume के बाहर 0 भरा जाता है, इसलिए rotation से कोने कटने पर योग घटता है (घनाकार के पास वाला volume लें और वस्तु को केंद्र में रखें)। azimuth=elevation=0 वाला mip voxel_to_mips()[0] की ही दिशा में होता है।

उपयोग: DRR का synthesis, ncc_locate के लिए 2-D template बनाना, match_mip_2d को किसी भी viewpoint के लिए बनाना।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)

संदर्भ (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 के स्रोत।

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

• ct_hand_radiograph — py -3.11 examples_3d/ct_hand_radiograph.py

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

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

इसी category के (render)

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


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

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