<div dir="ltr"><div dir="ltr"><div>Hi Erwin,</div><div>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.</div><div>I checked the convergence behavior with the new iteration reporting feature after correcting a bug (PR <a href="https://github.com/SimonRit/RTK/pull/355">here</a>):</div><div><br></div><div>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<br></div><div><br> </div><div>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</div><div><br></div><div>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.</div><div><br></div></div><div>I hope this is clear, if not let me know. And sorry for taking so long to (hopefully) clarify this.<br></div><div>Best regards,</div><div>Simon<br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 7:01 PM <<a href="mailto:erwinwalter11@web.de">erwinwalter11@web.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="DE"><div class="gmail-m_8803287995292181270WordSection1"><p class="MsoNormal">Hi,<u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB">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.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">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)<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">For visualization I have added an example to the following link: <a href="https://gigamove.rz.rwth-aachen.de/d/id/P42uxboh472jzV" target="_blank">https://gigamove.rz.rwth-aachen.de/d/id/P42uxboh472jzV</a><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">The regularized conjugate gradient reconstruction is shown on both upper images and the rooster reconstruction is shown on both lower images.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">I appreciate any help or explanation.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">Erwin<u></u><u></u></span></p></div></div>_______________________________________________<br>
Rtk-users mailing list<br>
<a href="mailto:Rtk-users@public.kitware.com" target="_blank">Rtk-users@public.kitware.com</a><br>
<a href="https://public.kitware.com/mailman/listinfo/rtk-users" rel="noreferrer" target="_blank">https://public.kitware.com/mailman/listinfo/rtk-users</a><br>
</blockquote></div></div>