Hello,
I am trying to do the wrapping for the
RegularizedConjugateGradientConeBeamReconstructionFilter, do I need to
wrap all the filters that it uses ?
Is there any guiding document for the wrapping method?
Regards,
Johnson
On 3/18/2016 9:31 AM, Cyril Mory wrote:
Hi again,
You got the SART filter right. As for the conjugate gradient, the
filter is actually ConjugateGradientConeBeamReconstructionFilter (for
the 3D non-regularized reconstruction) and
RegularizedConjugateGradientConeBeamReconstructionFilter (its
regularized counterpart).
The filter you found,
FourDConjugateGradientConeBeamReconstructionFilter, is used for 4D
reconstruction (you need a cardiac or respiratory phase signal). Its
regularized counterpart is FourDROOSTERConeBeamReconstructionFilter.
In addition to those, RTK also has
ADMMTotalVariationConeBeamReconstructionFilter and
ADMMWaveletsConeBeamReconstructionFilter, which implement the
Alternating Direction Method of Multiplier algorithm.
You can find a description of these algorithms in
https://hal.inria.fr/tel-00985728/document
Note that the SART filter has a m_NumberOfProjectionsPerSubset member.
Setting it to 1 (default) gives you SART, setting it to n with 1 < n <
TotalNumberOfProjections gives you OS-SART, and setting it to
n=TotalNumberOfProjections gives you SIRT.
That's pretty much all there is in RTK at the moment.
Cyril
On 03/18/2016 02:11 PM, Johnson Keiriz wrote:
Hello,
Can you please confirm that the following classes are the ones used
for the iterative reconstruction:
1 - SART: SARTConeBeamReconstructionFilter
2- Conjugate gradient: FourDConjugateGradientConeBeamReconstructionFilter
Is there a 3D conjugate gradient?
Are these the only classes for iterative reconstruction?
Thanks,
Johnson
On 3/18/2016 4:12 AM, Cyril Mory wrote:
Hi Johnson,
Regarding the iterative methods:
- In SART, you can use the CUDA forward and back projectors, but the
rest of the calculation is performed on CPU. We do not use SART a
lot, so we have not fully optimized it.
- Conjugate gradient, on the other hand, is entirely performed on
the GPU. Note that a regularized conjugate gradient reconstruction
filter is also available (with total variation denoising, wavelets
denoising, and positivity enforcement)
I hope you will find what you need,
Regards,
Cyril
On 03/17/2016 08:54 PM, Johnson Keiriz wrote:
Hello,
I did rebuild and now things are working. I tested reconstruction
with and without the filtering and there were differences. Though,
I am not sure that filtering have provided a better reconstruction.
I want to experiment the iterative methods. Can you please confirm
for me which iterative method are fully implemented in CUDA: is it
the conjugate gradient or SART ?
I have noticed that they are not wrapped at all, any guide on how
to introduce new filters?
Once I have tested my wrapping, I will submit a github pull-request.
Thanks,
Johnson
*From:*simon....@gmail.com [mailto:simon....@gmail.com] *On Behalf
Of *Simon Rit
*Sent:* Thursday, March 17, 2016 1:54 PM
*To:* Johnson Keiriz
*Cc:* rtk-users@public.kitware.com
*Subject:* Re: [Rtk-users] Python Wrapping
Hi,
Good! Indeed, many things are not wrapped. There is a trick
regarding modifications of the wrappings. You need to either start
from scratch the compilation or delete the file
SimpleRTK-prefix/src/SimpleRTK-stamp/SimpleRTK-configure. This will
trigger a reconfiguration of the SimpleRTK and, hopefully, account
for your modifications.
Don't hesitate to submit a github pull-request when you have
something working.
Simon
On Thu, Mar 17, 2016 at 4:33 PM, Johnson Keiriz
<jkei...@theobjects.com <mailto:jkei...@theobjects.com>> wrote:
Hello again,
I found out about the json wrapping files. I added the wrapping for
all the filters, but I haven’t noticed any effect from setting the
filters !!!
Any hints ?
Regards,
Johnson
*From:*Rtk-users [mailto:rtk-users-boun...@public.kitware.com
<mailto:rtk-users-boun...@public.kitware.com>] *On Behalf Of
*Johnson Keiriz
*Sent:* Thursday, March 17, 2016 9:23 AM
*To:* rtk-users@public.kitware.com
<mailto:rtk-users@public.kitware.com>; Simon Rit
*Subject:* [Rtk-users] Python Wrapping
Hello,
I am using the Python wrapped version of RTK. I have a question
regarding the wrapping:
It seems that not all functionality is available, for example: for
the *CudaFDKConeBeamReconstructionFilter, *I was not able to set
the cut frequency of the any of the filters
(RamLaK, Cosine, ShepLogan) except for the Hann . Are the methods
not wrapped ?
Thanks,
Johnson
*Description: cid:image002.jpg@01CB5984.4EABACE0*
*Johnson Keiriz, PhD
Senior Software Engineer*
760 St-Paul W, #101
Montreal, QC
Canada H3C 1M4
tel: (514) 843-3861 <tel:%28514%29%20843-3861>
ext 217
_______________________________________________
Rtk-users mailing list
Rtk-users@public.kitware.com
http://public.kitware.com/mailman/listinfo/rtk-users
--
*Johnson Keiriz, PhD
Senior Software Engineer*
760 St-Paul W, #101
Montreal, QC
Canada H3C 1M4
tel: (514) 843-3861
ext 217
--
*Johnson Keiriz, PhD
Senior Software Engineer*
760 St-Paul W, #101
Montreal, QC
Canada H3C 1M4
tel: (514) 843-3861
ext 217
_______________________________________________
Rtk-users mailing list
Rtk-users@public.kitware.com
http://public.kitware.com/mailman/listinfo/rtk-users