Detector (C-Arm)

Set up the 7 degrees-of-freedom parameters for the C-arm

The Detector is usually initialized in the DRR module and shouldn’t need to be called directly.



 Detector (sdr:float, height:int, width:int, delx:float, dely:float,
           n_subsample:int|None=None, reverse_x_axis:bool=False)

Construct a 6 DoF X-ray detector system. This model is based on a C-Arm.

Type Default Details
sdr float Source-to-detector radius (half of the source-to-detector distance)
height int Height of the X-ray detector
width int Width of the X-ray detector
delx float Pixel spacing in the X-direction
dely float Pixel spacing in the Y-direction
n_subsample int | None None Number of target points to randomly sample
reverse_x_axis bool False If pose includes reflection (in E(3) not SE(3)), reverse x-axis



 Detector.forward (rotation:torch.Tensor, translation:torch.Tensor,
                   parameterization:str, convention:str)

Create source and target points for X-rays to trace through the volume.

Type Details
rotation torch.Tensor Some (batched) representation of a rotation
translation torch.Tensor Batch of C-arm translation (bx, by, bz)
parameterization str Specifies the representation of the rotation
convention str If parameterization is Euler angles, specify convention



 diffdrr_to_deepdrr (euler_angles)