Detector (C-Arm)
Set up the 7 degrees-of-freedom parameters for the C-arm
Tip
The Detector
is usually initialized in the DRR
module and shouldn’t need to be called directly.
Detector
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
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
diffdrr_to_deepdrr (euler_angles)