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 <bours...@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 > listRtk-users@public.kitware.comhttps://public.kitware.com/mailman/listinfo/rtk-users > > > > > > _______________________________________________ > 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