<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Really thanks a lot Simon. You're kind of Santa Claus :)</p>
<p>I will re-compile this night, we will see the results next week !</p>
<p>Best,<br>
Yannick<br>
</p>
<br>
<div class="moz-cite-prefix">Le 22/12/2017 à 23:54, Simon Rit a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CAF0oig3wrfc76iqmuG8KpRS-VDJkTcN9wSiHp9gjSVaaCc2NWQ@mail.gmail.com">
<div dir="ltr">
<div>
<div>It depends on how you define normal... It hasn't been
wrapped so it's expected but we should have wrapped it when
creating the json file. You need to add<br>
},<br>
{<br>
"name" : "StepSize",<br>
"type" : "double",<br>
"default" : "1."<br>
</div>
after the line containing custom_itk_cast in the members
section, i.e., before the curly bracket closing the Geometry
section (which, after pasting, will close the StepSize
section). Don't forget the note on the wiki about json files:</div>
<div>
<p><b>Note that you might need to rebuild the solution in
order for CMake to take the changes into account.</b>
Another solution is to manually delete the file
SimpleRTK-prefix/src/SimpleRTK-stamp/SimpleRTK-configure.</p>
</div>
<div>This wrapping is a bit annoying so we do it when we need to
access one class or member. We will soon move to a new python
wrapping which will hopefully be easier (this is the purpose
of the RTK-ExternalModule branch on the repository). We'll
keep you posted!</div>
<div>Simon<br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Dec 22, 2017 at 11:42 PM,
Yannick Boursier <span dir="ltr"><<a
href="mailto:boursier@cppm.in2p3.fr" target="_blank"
moz-do-not-send="true">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>Ok thanks for this important precision.</p>
<p>Just a remark, I don't have access to the SetStepSize()
function through SimpleRTK. Is it normal ? Does it come
from the .json file or the template ?</p>
<p>Thanks in advance.<span class="HOEnZb"><font
color="#888888"><br>
Yannick<br>
</font></span></p>
<div>
<div class="h5"> <br>
<div class="m_2339544750905356133moz-cite-prefix">Le
22/12/2017 à 23:34, Simon Rit a écrit :<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>No it doesn't, it's voxel based. The adjoint
which uses the step size is <a
href="http://www.openrtk.org/Doxygen/classrtk_1_1CudaRayCastBackProjectionImageFilter.html"
target="_blank" moz-do-not-send="true">CudaRayCastBackProjectionImage<wbr>Filter</a>
but it's very slow and we never use it in
practice because it's not practical. When we
want to use adjoint operators, we mainly use the
CPU version, with double precision when
adjointness is very important.<br>
</div>
Simon<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Dec 22, 2017 at
11:31 PM, Yannick Boursier <span dir="ltr"><<a
href="mailto:boursier@cppm.in2p3.fr"
target="_blank" moz-do-not-send="true">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 Simon, <br>
</p>
<p>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.<br>
</p>
<p>Merry Christmas to you, <br>
Yannick<br>
</p>
<div>
<div class="m_2339544750905356133h5"> <br>
<div
class="m_2339544750905356133m_-2667162766585569410moz-cite-prefix">Le
22/12/2017 à 22:55, Simon Rit a
écrit :<br>
</div>
<blockquote type="cite">
<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"
target="_blank"
moz-do-not-send="true">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"
moz-do-not-send="true">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="m_2339544750905356133m_-2667162766585569410h5">
<br>
<div
class="m_2339544750905356133m_-2667162766585569410m_-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_2339544750905356133m_-2667162766585569410m_-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_2339544750905356133m_-2667162766585569410m_-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 (CudaForwardProjectionImageFil<wbr>ter 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-bin<wbr>-extended/SimpleRTK-build/Code<wbr>/BasicFilters/src/srtkCudaBack<wbr>ProjectionImageFilter.cxx: In member function ‘rtk::simple::Image rtk::simple::CudaBackProjectio<wbr>nImageFilter::ExecuteInternal(<wbr>const rtk::simple::Image&, const rtk::simple::Image&)’:
/data/boursier/Compile/rtk-bin<wbr>-extended/SimpleRTK-build/Code<wbr>/BasicFilters/src/srtkCudaBack<wbr>ProjectionImageFilter.cxx:132:<wbr>16: error: ‘rtk::CudaBackProjectionImageF<wbr>ilter’ is not a template
typedef rtk::CudaBackProjectionImageFi<wbr>lter<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_2339544750905356133m_-2667162766585569410m_-4428931898617340006mimeAttachmentHeader"></fieldset>
<br>
<pre>______________________________<wbr>_________________
Rtk-users mailing list
<a class="m_2339544750905356133m_-2667162766585569410m_-4428931898617340006moz-txt-link-abbreviated" href="mailto:Rtk-users@public.kitware.com" target="_blank" moz-do-not-send="true">Rtk-users@public.kitware.com</a>
<a class="m_2339544750905356133m_-2667162766585569410m_-4428931898617340006moz-txt-link-freetext" href="https://public.kitware.com/mailman/listinfo/rtk-users" target="_blank" moz-do-not-send="true">https://public.kitware.com/mai<wbr>lman/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"
target="_blank"
moz-do-not-send="true">Rtk-users@public.kitware.com</a><br>
<a
href="https://public.kitware.com/mailman/listinfo/rtk-users"
rel="noreferrer"
target="_blank"
moz-do-not-send="true">https://public.kitware.com/mai<wbr>lman/listinfo/rtk-users</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>