[Rtk-users] SimpleRTK : help for defining a correct json file for CudaBackProjectionImageFilter

Yannick Boursier boursier at cppm.in2p3.fr
Fri Dec 22 17:31:31 EST 2017


Hi Simon,

Thank you a lot for your answer, I will try to put the step size to the 
voxel size then (if I understand well). It seems that the implementation 
of the CudaBackProjectionImageFilter doesn't use any stepsize. I'll let 
you know.

Merry Christmas to you,
Yannick


Le 22/12/2017 à 22:55, Simon Rit a écrit :
> Hi Yannick,
> I would just try to change the step size 
> <http://www.openrtk.org/Doxygen/classrtk_1_1CudaForwardProjectionImageFilter.html#a93671bae5219bada43b9a00b6046dbed>. 
> Indeed, the CPU version is the Joseph projector and it adapts 
> automatically the step size to each ray for bilinear interpolation in 
> each slice. The GPU version is a fixed step size combined with a 
> trilinear interpolation.
> Merry Christmas to you,
> Simon
>
> On Fri, Dec 22, 2017 at 9:17 PM, Yannick Boursier 
> <boursier at cppm.in2p3.fr <mailto:boursier at cppm.in2p3.fr>> wrote:
>
>     Hi Cyril,
>
>     Sorry for my late answer. First thank you because your last trick
>     (removing <InpuImageType>) worked, I correctly compiled and
>     installed everything.
>
>     I am late because I thought that I did something wrong since when
>     I tested the code by simply projecting then backprojecting a
>     simple volume, the results between the CPU-codes and GPU-codes
>     were different and the GPU result cas clearly wrong.
>
>     I understood this morning the problem and put it in evidence : the
>     CudaForwardProjectionImageFilter seems to be not adapted to the
>     case when the size of voxels and pixels are not equal to 1 whereas
>     the CudaBackProjectionImageFilter is OK for that !!
>
>     I will try to debug it and let you know.
>
>     I wish to all of you a Merry Christmas and relaxing holidays.
>
>     Best ,
>
>     Yannick
>
>
>     Le 18/12/2017 à 16:52, Cyril Mory a écrit :
>>
>>     Hi again Yannick,
>>
>>     Simply removing the <InputImageType> on line 9 of your .json file
>>     made it compile. I didn't test it yet. Let us know if that works
>>     for you.
>>
>>     Cyril
>>
>>
>>     On 18/12/2017 16:31, Cyril Mory wrote:
>>>
>>>     Hi Yannick,
>>>
>>>     You seem to be in a hurry, so I'll start with an incomplete
>>>     answer: the CudaForwardProjectionImageFilter is templated over
>>>     its input and output image type, but the
>>>     CudaBackProjectionImageFilter isn't (compare
>>>     rtkCudaForwardProjectionImageFilter.h and
>>>     rtkCudaBackProjectionImageFilter.h, there is not "template <>"
>>>     before the class definition in ...Back..., while it is there in
>>>     ...Forward...).
>>>
>>>     I'm trying to modify your .json file accordingly, recompile and
>>>     test, but I never use SimpleRTK myself, so you might find the
>>>     solution before I do. If so, please report back on this mailing
>>>     list.
>>>
>>>     Cyril
>>>
>>>
>>>     On 18/12/2017 16:07, Yannick BOURSIER wrote:
>>>>     Hello all,
>>>>
>>>>     I really need in "relative" emergency to execute the kernel CudaBackProjectionImageFilter using the Python Wrapper provided by SimpleRTK.
>>>>     Unfortunately, this is not implemented in cuda (CudaForwardProjectionImageFilter is but not the BackProjection).
>>>>
>>>>     I tried to define a json file (in attachement) on the base of CudaForwardProjectionImageFilter (since all the h, hxx, cxx, files I looked at seemed to be the same for these two kernels) but it does not compile (cmake instruction OK but not the make instruction) with the following error :
>>>>
>>>>     /data/boursier/Compile/rtk-bin-extended/SimpleRTK-build/Code/BasicFilters/src/srtkCudaBackProjectionImageFilter.cxx: In member function ‘rtk::simple::Image rtk::simple::CudaBackProjectionImageFilter::ExecuteInternal(const rtk::simple::Image&, const rtk::simple::Image&)’:
>>>>     /data/boursier/Compile/rtk-bin-extended/SimpleRTK-build/Code/BasicFilters/src/srtkCudaBackProjectionImageFilter.cxx:132:16: error: ‘rtk::CudaBackProjectionImageFilter’ is not a template
>>>>         typedef rtk::CudaBackProjectionImageFilter<InputImageType> FilterType;
>>>>
>>>>     I would very much appreciate some help please because at this point, I have no idea about the problem...
>>>>     Thanks in advance,
>>>>     Best regards,
>>>>     Yannick Boursier
>>>>
>>>>
>>>>     _______________________________________________
>>>>     Rtk-users mailing list
>>>>     Rtk-users at public.kitware.com <mailto:Rtk-users at public.kitware.com>
>>>>     https://public.kitware.com/mailman/listinfo/rtk-users
>>>>     <https://public.kitware.com/mailman/listinfo/rtk-users>
>>>
>>
>
>
>     _______________________________________________
>     Rtk-users mailing list
>     Rtk-users at public.kitware.com <mailto:Rtk-users at public.kitware.com>
>     https://public.kitware.com/mailman/listinfo/rtk-users
>     <https://public.kitware.com/mailman/listinfo/rtk-users>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20171222/42d4a64e/attachment-0001.html>


More information about the Rtk-users mailing list