  Training end-to-end unrolled iterative neural networks for SPECT image
reconstruction requires a memory-efficient forward-backward projector for
efficient backpropagation. This paper describes an open-source, high
performance Julia implementation of a SPECT forward-backward projector that
supports memory-efficient backpropagation with an exact adjoint. Our Julia
projector uses only ~5% of the memory of an existing Matlab-based projector. We
compare unrolling a CNN-regularized expectation-maximization (EM) algorithm
with end-to-end training using our Julia projector with other training methods
such as gradient truncation (ignoring gradients involving the projector) and
sequential training, using XCAT phantoms and virtual patient (VP) phantoms
generated from SIMIND Monte Carlo (MC) simulations. Simulation results with two
different radionuclides (90Y and 177Lu) show that: 1) For 177Lu XCAT phantoms
and 90Y VP phantoms, training unrolled EM algorithm in end-to-end fashion with
our Julia projector yields the best reconstruction quality compared to other
training methods and OSEM, both qualitatively and quantitatively. For VP
phantoms with 177Lu radionuclide, the reconstructed images using end-to-end
training are in higher quality than using sequential training and OSEM, but are
comparable with using gradient truncation. We also find there exists a
trade-off between computational cost and reconstruction accuracy for different
training methods. End-to-end training has the highest accuracy because the
correct gradient is used in backpropagation; sequential training yields worse
reconstruction accuracy, but is significantly faster and uses much less memory.
