Emmanuel:<br><br>The patch looks good. If could also contribute a minimal test to resample std::complex images, that would be perfect. <br><br>Thanks <br>Regrads<br>--<br>karthik<br><br><div class="gmail_quote">On Wed, Mar 4, 2009 at 11:57 PM, Emmanuel Christophe <span dir="ltr">&lt;<a href="mailto:emmanuel.christophe@gmail.com">emmanuel.christophe@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi again,<br>
<br>
Attached is a patch to solve these issues (see below) with the<br>
itkResampleImageFilter and the itkOptResampleImageFilter. They can now<br>
be applied to itk::Image&lt;std::complex&lt;double&gt;,2&gt;. I believe that it is<br>
also a step in the right direction to apply them to itk::VectorImage<br>
(but I did not have the time to tried). The patch is to be applied<br>
against the CVS version.<br>
<br>
This does not modify the previous behavior with scalar pixels or the<br>
filter interface. All itk tests (including Examples) still pass with<br>
the ITK_USE_OPTIMIZED_REGISTRATION and the ITK_USE_REVIEW options ON<br>
or OFF.<br>
<br>
Best regards,<br>
Emmanuel<br>
<br>
<br>
2009/3/2 Emmanuel Christophe &lt;<a href="mailto:emmanuel.christophe@gmail.com">emmanuel.christophe@gmail.com</a>&gt;:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;m having some trouble with the templates for the ResampleImageFilter<br>
&gt; and the InterpolateImageFunction.<br>
&gt;<br>
&gt; The ResampleImageFilter is defined as<br>
&gt; template &lt;class TInputImage, class TOutputImage,<br>
&gt;          class TInterpolatorPrecisionType=double&gt;<br>
&gt; class ITK_EXPORT ResampleImageFilter:<br>
&gt;    public ImageToImageFilter&lt;TInputImage, TOutputImage&gt;<br>
&gt;<br>
&gt; In this definition TInterpolatorPrecisionType refers as the pixel<br>
&gt; precision (Image::PixelType). The class description gives the example<br>
&gt; of a labeled image where it is not desired to interpolate the values.<br>
&gt;<br>
&gt; On the other hand, for the InterpolateImageFunction we have:<br>
&gt; template &lt;class TInputImage, class TCoordRep = double&gt;<br>
&gt; class ITK_EXPORT InterpolateImageFunction :<br>
&gt;  public ImageFunction&lt; TInputImage,<br>
&gt;    ITK_TYPENAME NumericTraits&lt;typename<br>
&gt; TInputImage::PixelType&gt;::RealType, TCoordRep &gt;<br>
&gt;<br>
&gt; Here the second template (TCoordRep) describes the precision of the<br>
&gt; coordinates (hence, similar to the Image::PointType::ValueType).<br>
&gt;<br>
&gt; However, in the definition of the ResampleImageFilter, there is the<br>
&gt; following typedef:<br>
&gt; typedef InterpolateImageFunction&lt;InputImageType,<br>
&gt; TInterpolatorPrecisionType&gt; InterpolatorType;<br>
&gt;<br>
&gt; Which assumes that the precision of the pixel value is the same as the<br>
&gt; precision of the coordinates. I&#39;m running into this problem when I&#39;m<br>
&gt; trying to interpolate complex images (PixelType is<br>
&gt; std::complex&lt;double&gt; but the coordinate are obviously still double).<br>
&gt;<br>
&gt; In the ResampleImageFilter filter, the same default for the coordinate<br>
&gt; precision as in the itk::ImageBase could be assumed, replacing the<br>
&gt; typedef by:<br>
&gt; typedef InterpolateImageFunction&lt;InputImageType, double&gt; InterpolatorType;<br>
&gt;<br>
&gt; or keeping the InterpolateImageFunction default:<br>
&gt; typedef InterpolateImageFunction&lt;InputImageType&gt; InterpolatorType;<br>
&gt;<br>
&gt; As the itk::Transform is templated over the coordinate precision also,<br>
&gt; I assume the typedef of the TransformType should be corrected in the<br>
&gt; same way.<br>
&gt;<br>
&gt; Am I missing something here ?<br>
&gt;<br>
&gt; Best regard,<br>
&gt; Emmanuel<br>
&gt;<br>
<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<br>
<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 ITK FAQ at: <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Karthik Krishnan<br>R&amp;D Engineer,<br>Kitware Inc.<br>Ph: 518 371 3971 x119<br>Fax: 518 371 3971<br>