Hi Zamir,<div><br></div><div><meta charset="utf-8">If you are set on doing things with Fourier transforms, you can get your various projection angles by using vtkImageReslice in the Fourier domain to extract the &quot;central slice&quot; that corresponds to the projection.</div>

<div><br></div><div>Or, if you are fine with skipping Fourier space altogether, I have a projection filter for VTK,</div><div><a href="http://github.com/dgobbi/VTK/commit/e7f87237">http://github.com/dgobbi/VTK/commit/e7f87237</a></div>

<div>It only does projections along X, Y, or Z so it has to be preceded by vtkImageReslice if you require arbitrary angles.</div><div><br></div><div>But even that will not give you a sinogram, it will just give a bunch of images corresponding to the various projections.  You&#39;d still have to stack the images together, e.g. with vtkImageAppend.  I honestly can&#39;t say whether it would be better to do this with a VTK pipeline or whether it would be better to write a dedicated Radon transform filter.</div>

<div><br></div><div>  David</div><div><br></div><div><br></div><div><br></div><div><br><div class="gmail_quote">On Fri, Dec 3, 2010 at 2:04 PM, Zamir Khan <span dir="ltr">&lt;<a href="mailto:zkhan@modusmed.com" target="_blank">zkhan@modusmed.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-CA" link="blue" vlink="purple"><div><p class="MsoNormal">I am interested in computing the 3D Radon transform of a data-set. This is as I understand it, inverse backprojection, and gives all the 2d projections (given angles phi, theta, psi) through a 3d image. Before re-inventing the wheel, I wanted to make sure I’m not missing any potentially re-usable elements of VTK for this problem. There is not a direct Radon transform in VTK, but in this paper (<a href="http://bioinformatics.oxfordjournals.org/content/14/2/212.abstract" target="_blank">http://bioinformatics.oxfordjournals.org/content/14/2/212.abstract</a>), the computation is elegantly broken down to a few steps that involve 2-D and 1-D FFTs, conversion to polar coordinates, and 3-d matrix transposition. </p>


<p class="MsoNormal"> </p><p class="MsoNormal">My question to the VTK community (especially those more familiar with the API) is if there are any classes within VTK that would be useful in tackling this problem. Of course, if you have suggestions outside of VTK, those would be welcome as well. Unfortunately, based on my search so far, it seems that this will be something that needs to be written nearly from scratch. </p>


<p class="MsoNormal"> </p><p class="MsoNormal">Thanks in advance for any insights,</p><p class="MsoNormal">Zamir</p></div></div><br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>