  The use of digitally reconstructed radiographs (DRRs) to solve inverse
problems such as slice-to-volume registration and 3D reconstruction is
well-studied in preoperative settings. In intraoperative imaging, the utility
of DRRs is limited by the challenges in generating them in real-time and
supporting optimization procedures that rely on repeated DRR synthesis. While
immense progress has been made in accelerating the generation of DRRs through
algorithmic refinements and GPU implementations, DRR-based optimization remains
slow because most DRR generators do not offer a straightforward way to obtain
gradients with respect to the imaging parameters. To make DRRs interoperable
with gradient-based optimization and deep learning frameworks, we have
reformulated Siddon's method, the most popular ray-tracing algorithm used in
DRR generation, as a series of vectorized tensor operations. We implemented
this vectorized version of Siddon's method in PyTorch, taking advantage of the
library's strong automatic differentiation engine to make this DRR generator
fully differentiable with respect to its parameters. Additionally, using
GPU-accelerated tensor computation enables our vectorized implementation to
achieve rendering speeds equivalent to state-of-the-art DRR generators
implemented in CUDA and C++. We illustrate the resulting method in the context
of slice-to-volume registration. Moreover, our simulations suggest that the
loss landscapes for the slice-to-volume registration problem are convex in the
neighborhood of the optimal solution, and gradient-based registration promises
a much faster solution than prevailing gradient-free optimization strategies.
The proposed DRR generator enables fast computer vision algorithms to support
image guidance in minimally invasive procedures. Our implementation is
publically available at https://github.com/v715/DiffDRR.
