cone_weighted_backproject#

diffct.analytical.cone_weighted_backproject(sinogram, src_pos, det_center, det_u_vec, det_v_vec, D, H, W, du, dv, voxel_spacing=1.0, *, isocenter=None)[source]#

Voxel-driven cone-beam FDK backprojection with analytical constant.

Runs the dedicated cone-beam FDK gather kernel (one thread per output voxel, (sid_n/U_n)^2 distance weighting, bilinear interpolation of the filtered sinogram), applying sdd_n/(2*pi*sid_n) to each view so a unit-density sphere reconstructs to amplitude 1. Both distances are measured in the per-view detector-normal direction, so the helper reduces to the classical sdd/(2*pi*sid) on a circular orbit. isocenter is a physical coordinate triple, inferred from source lines along detector normals by default. Supply it explicitly for an ambiguous or non-circular acquisition. FDK remains an approximation outside its circular-acquisition assumptions.