I’m testing this particular module to evaluate a 2D/3D registration context.
I was able to obtain DRRs using Siddon-Jacobs ray tracing method (starting point is an FDK of POPI model) and as a proof of concept I fed two of these resulting projections (first at the correct angles and centering, then at small tilted angles with added displacement to the CT volume center).
What I noticed is that the computation of a single step in the registration is incredibly slow even in the case where the initial transform is already at the correct position (around 60”).
I think the long computation times are possibly caused by metric calculation on the 2 Projections vs the DRRs generated from the volume by the interpolators (Siddon-Jacobs), but I cannot verify this assumption since I can only observe a full registration step.
Is there a way to speed up the process? Unfortunately the custom classes that were implemented in this module do not come with many useful tools such as a Sampling Strategy.
Thanks to anyone contributing
NB: I’m reposting from the old mailing list where Gordian replied suggesting me to use a CUDA based forward projector such as the one included in RTK.
I’m looking into this but the real issue is that the Siddon-Jacobs class in the original implementation is an image function exploited as Interpolator while rtkCudaForwardProjectionImageFilter.h defines an image filter