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@public.kitware.com
https://public.kitware.com/mailman/listinfo/rtk-users



_______________________________________________
Rtk-users mailing list
Rtk-users@public.kitware.com
https://public.kitware.com/mailman/listinfo/rtk-users

Reply via email to