render op• 数据种类:voxel → image2d
• 调用: import fullseye as fs; fs.ledger.render_volume_projection(vol, azimuth=0.0, elevation=0.0, mode='xray', device='cpu')(要直接调用实现,import match3d; match3d.render_volume_projection(vol, azimuth=0.0, elevation=0.0, mode='xray', device='cpu');从台账取用则 ops3d.get("render_volume_projection"))
• GPU:该算子有 GPU 路径(device="cuda")
从任意视点把 voxel 投影为 2D(mode=xray=衰减积分 / mip=最大值)。用于 DRR(X 光)与世界模型观测。
用 grid_sample 把 volume 朝 view 方向旋转后做轴向投影。voxel_to_mips 的任意视点版。
旋转用 affine_grid(坐标顺序 x=W, y=H, z=D)绕 volume 中心进行: azimuth 绕 H 轴(混合 W 与 D),elevation 绕 W 轴(混合 H 与 D),均为度,顺序为 Rx @ Ry。旋转后的 volume 沿轴 0(D)方向压扁,因此视线是旋转后的 D 轴。mode="mip" 取最大值, 其他全部为求和("xray" 不是 Beer-Lambert 的指数,而是简单累加。若要得到衰减像,请由调用方做 exp(−Σ))。返回值 (H, W) float32 numpy。volume 外以 0 填充,因此旋转导致角落缺失时总和会下降(使用接近立方体的 volume,并把物体放在中心)。azimuth=elevation=0 的 mip 与 voxel_to_mips()[0] 朝向相同。
用途: DRR 的合成,生成 ncc_locate 用的 2-D 模板,match_mip_2d 的任意视点化。
• blender_interop — 与 Blender 配合使用 —— 在 Blender 中建形、用 fullseye 测量(坐标轴、单位、真值数据的陷阱)
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• ct_hand_radiograph — py -3.11 examples_3d/ct_hand_radiograph.py
image2d 作为输入)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
render)project_points · render_point_depth · render_shaded · ambient_occlusion · cast_shadow · phong_shade · matcap_shade · supersample_mesh
*Provenance: match3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.