[Rtk-users] Blurry reconstructions in ROOSTER

Simon Rit simon.rit at creatis.insa-lyon.fr
Fri Jun 12 10:22:59 EDT 2020


Hi Erwin,
I finally had time to look into this issue. I think the problem is that the
conjugate gradient step is not the same in the two algorithms. If you
carefully check Cyril's ROOSTER paper, he does not do a 3D conjugate
gradient per phase but a 4D conjugate gradient. In your case, you have set
the data such that each projection is used for one frame only but 4D CG is
still used. Minimizing all frames at the same time instead of each one
separately means that different steps are taken in the two algorithms.
Eventually, if we would go to convergence, they should both go the same
unique result but you clearly stop before convergence with a few iterations.
I checked the convergence behavior with the new iteration reporting feature
after correcting a bug (PR here <https://github.com/SimonRit/RTK/pull/355>):

rtkconjugategradient -p . -r subproj0.mha -o ./subCGedge7e-05_T0.mha -g
./subgeometry0.xml --fp CudaRayCast --nocudacg --bp CudaVoxelBased --niter
50 -v --spacing 0.8 --dimension 187,42,102 --origin -80.41,-22.84,-36.61
--output-every 1 --iteration-file-name iter3d_%03d.mha

rtkfourdconjugategradient -p . -r 'lineint_.mha' -g ./geometry.xml -o
./rooster4Dedge8e-05.mha --signal ./respSignal_edge.txt --frames 4 --fp
CudaRayCast --bp CudaVoxelBased -n 50 -v --spacing 0.8 --dimension
187,42,102 --origin -80.41,-22.84,-36.61 --output-every 1
--iteration-file-name iter4d_%03d.mha

I also tried to increase the number of cg iterations in ROOSTER and that
indeed seems to improve the match between the two results. So the solution
is to adjust the number of CG iterations which is one of the many
hyperparameters of this algorithm.

I hope this is clear, if not let me know. And sorry for taking so long to
(hopefully) clarify this.
Best regards,
Simon

On Mon, May 25, 2020 at 7:01 PM <erwinwalter11 at web.de> wrote:

> Hi,
>
> for my Master’s thesis I am testing some implementations for a 4D
> reconstruction of small mice set. For this I apply the rooster algorithm on
> the full projection set with a discretised phase signal. To compare the
> rooster reconstruction I also take a subset of the full set with
> rtksubselect considering the phase signal and apply the regularized
> conjugate gradient reconstruction algorithm on that subset of projections.
> This way I get a 3D reconstruction for each phase respectively.
>
>
>
> However with the same gamma_space=8e-6 (in regularized cg gammatv defined)
> in the total variation step both in rooster and regularized conjugate
> gradient and gamma_time equal to 0 in roosters algorithm, I do not get the
> same results. The rooster reconstruction is much more blurried compared to
> the regularized conjugate gradient reconstruction, which surprises me.
> Shouldn’t be both reconstructions nearly identical under same conditions?
> Outer and inner loops (n_iter=30, tv_iter=10, cg_iter=4) are equally set.
> The blurriness occurs only in respiratory phases with small amount of
> projections (approx. 90)
>
>
>
> For visualization I have added an example to the following link:
> https://gigamove.rz.rwth-aachen.de/d/id/P42uxboh472jzV
>
> The regularized conjugate gradient reconstruction is shown on both upper
> images and the rooster reconstruction is shown on both lower images.
>
>
>
> I appreciate any help or explanation.
>
>
>
> Erwin
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> https://public.kitware.com/mailman/listinfo/rtk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/rtk-users/attachments/20200612/8d3401e2/attachment.htm>


More information about the Rtk-users mailing list