From zhehao.zhang at wustl.edu Tue Sep 1 22:03:01 2020 From: zhehao.zhang at wustl.edu (Zhang, Zhehao) Date: Wed, 2 Sep 2020 02:03:01 +0000 Subject: [Rtk-users] Iterative reconstruction Message-ID: Hi all, I have used RTK for a while, first of all, thanks for providing this great software. I am trying to perform some iterative CBCT reconstruction with a specifically defined regularization term recently. Since this regularization is not TV nor wavelet, I may not be able to directly use those RTK provided filters, like ?ConjugateGradientConeBeamReconstructionFilter?. What I want is simply use gradient descent method and calculate the gradient of (1/2) ||(Rf - P)||^2 and my regularization term. I got some problems on how to get the gradient of (1/2) ||(Rf - P)||^2 , which should be R*(Rf - p), f is the required results, p is measured projections and R is forward projections. Hope to get some hints for you. Fow now, I tried to directly use ?JosephForwardProjectionImageFilter? and ?JosephBackProjectionImageFilter? to achieve this goal, however, the acquired values seems to be really large after several iterations. I think I must made something wrong. Could you please give me some suggestions about this problem if I want to utilize RTF to get gradient? Or is there any implementation detail of CG/SIRT filters that we can access (I am not sure if it is public)? I put my current code here (https://drive.google.com/file/d/1GPuoYHk4ACe5VDnVwZlsIzK1OHrM2AdK/view?usp=sharing) Thank you very much and best regards. Zhehao -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Sep 3 04:58:04 2020 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 3 Sep 2020 10:58:04 +0200 Subject: [Rtk-users] Iterative reconstruction In-Reply-To: References: Message-ID: Hi, This looks good to me, I haven't spotted anything completely wrong. Note that without regularization, this is known to diverge after some iterations because it starts to fit the noise. I think SARTConeBeamReconstructionFilter will do something similar if you set NumberOfProjectionsPerSubset to the number of projections in your stack but it includes an additional normalization term to account for the raylength. Since you don't have that, I think you need a very small alpha. But 1e-5 should be small enough so maybe you can check against it to see if the algorithms go in the same direction. The code is available online but we don't have any implementation details to provide. CG is quite hard to grasp but SART should be easy enough to follow. Simon On Wed, Sep 2, 2020 at 4:03 AM Zhang, Zhehao wrote: > > > Hi all, > > > > I have used RTK for a while, first of all, thanks for providing this great > software. > > > > I am trying to perform some iterative CBCT reconstruction with a > specifically defined regularization term recently. Since this > regularization is not TV nor wavelet, I may not be able to directly use > those RTK provided filters, like > ?ConjugateGradientConeBeamReconstructionFilter?. What I want is simply use > gradient descent method and calculate the gradient of (1/2) ||(Rf - P)||^2 > and my regularization term. I got some problems on how to get the gradient > of (1/2) ||(Rf - P)||^2 , which should be R*(Rf - p), f is the required > results, p is measured projections and R is forward projections. Hope to > get some hints for you. > > > > Fow now, I tried to directly use ?JosephForwardProjectionImageFilter? > and ?JosephBackProjectionImageFilter? to achieve this goal, however, the > acquired values seems to be really large after several iterations. I think > I must made something wrong. Could you please give me some suggestions > about this problem if I want to utilize RTF to get gradient? Or is there > any implementation detail of CG/SIRT filters that we can access (I am not > sure if it is public)? I put my current code here ( > https://drive.google.com/file/d/1GPuoYHk4ACe5VDnVwZlsIzK1OHrM2AdK/view?usp=sharing > ) > > > > Thank you very much and best regards. > > > > Zhehao > _______________________________________________ > 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: From vl at xris.eu Thu Sep 3 10:01:33 2020 From: vl at xris.eu (Vincent Libertiaux) Date: Thu, 3 Sep 2020 16:01:33 +0200 Subject: [Rtk-users] Gantry rotation direction and artefacts In-Reply-To: References: <05ae1f62-0b5d-7a90-0203-65bec365b814@xris.eu> <1ecb9fb8-5e5a-2b1e-5582-3d873cac24ed@xris.eu> Message-ID: <14092ac0-2679-cec4-eaaf-29064d447106@xris.eu> Hi Simon, not only it is clear but it is also spot on ! Thank you very much for your help once again. Best regards, Vincent > On 28.08.20 14:13, Simon Rit wrote: >> Thanks for the illustration. Maybe the detector is not oriented as >> intended by RTK? If you look at the first drawing of the geometry doc >> , I would question the >> direction of the vector v. You can probably just flip it to put it in >> the right direction? e.g. with >> rtkfdk -p . -r ^proj.mha$ -g direct.xml --spacing 0.5 -d 300 >> --hardware cuda -o fdk.mha --newdirection 1,0,0,0,-1,0,0,0,1 >> --neworigin -140,151.6,0 >> which comes down to flipping the y axis after reconstruction without >> the last two options. I think that the RTK coordinate system becomes >> indirect if you flip this v axis which is probably ignored by your >> visualization tool. I admit I realized only recently that I often >> reconstruct data which are like this. >> I hope I'm clear, if not that's probably because I don't master so >> well all this... >> Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Sep 14 05:28:56 2020 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 14 Sep 2020 11:28:56 +0200 Subject: [Rtk-users] Regarding SART implementation at RTK library In-Reply-To: <4c23ecb7-3481-2b90-a339-5c6eb4e34513@gmail.com> References: <4c23ecb7-3481-2b90-a339-5c6eb4e34513@gmail.com> Message-ID: Hi Peng, Please use the mailing list. The original SART is by Andersen, see https://doi.org/10.1109/42.20361. The RTK implementation also allows OS-SART. If you have used it and want to cite RTK, see the first ref here . Best regards, Simon On Mon, Sep 14, 2020 at 9:49 AM Peng Chen wrote: > Hi, Dr. Simon > > What is the literature (or paper) as related your SART implementation at > RTK library? > > namely the *rtk::SARTConeBeamReconstructionFilter* as in > > http://www.openrtk.org/Doxygen/classrtk_1_1SARTConeBeamReconstructionFilter.html > > Best regard, > > > > Peng Chen > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From e.a.gh72 at gmail.com Tue Sep 29 07:18:31 2020 From: e.a.gh72 at gmail.com (Ali ghorbanian) Date: Tue, 29 Sep 2020 14:48:31 +0330 Subject: [Rtk-users] RTK library for Fan Beam CT Scan Message-ID: Hi, Can we use the RTK library for Fan Beam CT Scan? Good luck. -------------- next part -------------- An HTML attachment was scrubbed... URL: From e.a.gh72 at gmail.com Wed Sep 30 04:23:55 2020 From: e.a.gh72 at gmail.com (Ali ghorbanian) Date: Wed, 30 Sep 2020 11:53:55 +0330 Subject: [Rtk-users] RTK library for Fan Beam CT Scan Message-ID: Hi, Can we use the RTK library for Fan Beam CT Scan? Good luck. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Sep 30 11:13:34 2020 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 30 Sep 2020 17:13:34 +0200 Subject: [Rtk-users] RTK library for Fan Beam CT Scan In-Reply-To: References: Message-ID: Dear Ali, No need to send the same message more than once. It's possible to do fan-beam by managing the interpolations. For voxel-based backprojection, RTK does a bilinear interpolation on the detector so you need to add a line above and below each 1D projection. There is an example here (with an old wrapping but the idea is similar with the new ones). For ray-driven projection, you can use 1D projections but you need to reconstruct 3 slices instead of 1. Simon On Tue, Sep 29, 2020 at 1:19 PM Ali ghorbanian wrote: > Hi, > Can we use the RTK library for Fan Beam CT Scan? > Good luck. > _______________________________________________ > 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: