You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current focus of DiffDRR is on optimizing extrinsic parameters. This is perfectly fine for calibrated C-arms (e.g., research scanners), but it seems that clinical scanners are often uncalibrated! Image-based 2D/3D registration therefore requires optimization of the intrinsic parameters as well as the extrinsics. With the current DiffDRR API, this is cumbersome.
Proposed change:
Instead of initializing the diffdrr.detector.Detector with a specific pixel spacing, principal point, and focal length, simply initialize with unit values (on the GPU). In the forward method, pass delx, dely, x0, y0, and sdd, and use these values to resize the unit detector. Perhaps this could be implemented as an affine matrix?
The current focus of DiffDRR is on optimizing extrinsic parameters. This is perfectly fine for calibrated C-arms (e.g., research scanners), but it seems that clinical scanners are often uncalibrated! Image-based 2D/3D registration therefore requires optimization of the intrinsic parameters as well as the extrinsics. With the current DiffDRR API, this is cumbersome.
Proposed change:
diffdrr.detector.Detector
with a specific pixel spacing, principal point, and focal length, simply initialize with unit values (on the GPU). In theforward
method, passdelx
,dely
,x0
,y0
, andsdd
, and use these values to resize the unit detector. Perhaps this could be implemented as an affine matrix?DiffDRR/diffdrr/detector.py
Lines 73 to 116 in bc2d869
The text was updated successfully, but these errors were encountered: