<div dir="ltr"><div><div><div>Hi Yannick,<br></div>I would just try to change the <a href="http://www.openrtk.org/Doxygen/classrtk_1_1CudaForwardProjectionImageFilter.html#a93671bae5219bada43b9a00b6046dbed">step size</a>. 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.<br></div><div>Merry Christmas to you,<br></div></div>Simon<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 22, 2017 at 9:17 PM, Yannick Boursier <span dir="ltr"><<a href="mailto:boursier@cppm.in2p3.fr" target="_blank">boursier@cppm.in2p3.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p>Hi Cyril, <br>
    </p>
    <p>Sorry for my late answer. First thank you because your last trick
      (removing <InpuImageType>) worked, I correctly compiled and
      installed everything.</p>
    <p>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. <br>
    </p>
    <p>I understood this morning the problem and put it in evidence :
      the CudaForwardProjectionImageFilt<wbr>er 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 !! <br>
    </p>
    <p>I will try to debug it and let you know.</p>
    <p>I wish to all of you a Merry Christmas and relaxing holidays.</p>
    <p>Best ,</p>
    <p>Yannick<br>
    </p><div><div class="h5">
    <br>
    <div class="m_-4428931898617340006moz-cite-prefix">Le 18/12/2017 à 16:52, Cyril Mory a
      écrit :<br>
    </div>
    <blockquote type="cite">
      
      <p>Hi again Yannick,</p>
      <p>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.</p>
      <p>Cyril<br>
      </p>
      <br>
      <div class="m_-4428931898617340006moz-cite-prefix">On 18/12/2017 16:31, Cyril Mory
        wrote:<br>
      </div>
      <blockquote type="cite">
        
        <p>Hi Yannick,</p>
        <p>You seem to be in a hurry, so I'll start with an incomplete
          answer: the CudaForwardProjectionImageFilt<wbr>er is templated over
          its input and output image type, but the
          CudaBackProjectionImageFilter isn't (compare
          rtkCudaForwardProjectionImageF<wbr>ilter.h and
          rtkCudaBackProjectionImageFilt<wbr>er.h, there is not "template
          <>" before the class definition in ...Back..., while it
          is there in ...Forward...).<br>
        </p>
        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.<br>
        <br>
        Cyril<br>
        <br>
        <br>
        <div class="m_-4428931898617340006moz-cite-prefix">On 18/12/2017 16:07, Yannick
          BOURSIER wrote:<br>
        </div>
        <blockquote type="cite">
          <pre>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 (<wbr>CudaForwardProjectionImageFilt<wbr>er is but not the BackProjection).

I tried to define a json file (in attachement) on the base of CudaForwardProjectionImageFilt<wbr>er (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-<wbr>bin-extended/SimpleRTK-build/<wbr>Code/BasicFilters/src/<wbr>srtkCudaBackProjectionImageFil<wbr>ter.cxx: In member function ‘rtk::simple::Image rtk::simple::<wbr>CudaBackProjectionImageFilter:<wbr>:ExecuteInternal(const rtk::simple::Image&, const rtk::simple::Image&)’:
/data/boursier/Compile/rtk-<wbr>bin-extended/SimpleRTK-build/<wbr>Code/BasicFilters/src/<wbr>srtkCudaBackProjectionImageFil<wbr>ter.cxx:132:16: error: ‘rtk::<wbr>CudaBackProjectionImageFilter’ is not a template
   typedef rtk::<wbr>CudaBackProjectionImageFilter<<wbr>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</pre>
          <br>
          <fieldset class="m_-4428931898617340006mimeAttachmentHeader"></fieldset>
          <br>
          <pre>______________________________<wbr>_________________
Rtk-users mailing list
<a class="m_-4428931898617340006moz-txt-link-abbreviated" href="mailto:Rtk-users@public.kitware.com" target="_blank">Rtk-users@public.kitware.com</a>
<a class="m_-4428931898617340006moz-txt-link-freetext" href="https://public.kitware.com/mailman/listinfo/rtk-users" target="_blank">https://public.kitware.com/<wbr>mailman/listinfo/rtk-users</a>
</pre>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </div></div></div>

<br>______________________________<wbr>_________________<br>
Rtk-users mailing list<br>
<a href="mailto:Rtk-users@public.kitware.com">Rtk-users@public.kitware.com</a><br>
<a href="https://public.kitware.com/mailman/listinfo/rtk-users" rel="noreferrer" target="_blank">https://public.kitware.com/<wbr>mailman/listinfo/rtk-users</a><br>
<br></blockquote></div><br></div>