<div>&nbsp; I have tried itkVectorResampleImageFilter. Now my code can be complied,<br>&nbsp;&nbsp; however, I still get the following error message when I run the program:</div>
<div><br>&nbsp;&nbsp; itk::ExceptionObject (010DF768)<br>&nbsp;&nbsp; Location: &quot;class itk::Vector&lt;float,3&gt; *__thiscall<br>&nbsp;&nbsp; itk::ImportImageContainer&lt;unsi<br>&nbsp;&nbsp; gned long,class itk::Vector&lt;float,3&gt; &gt;::AllocateElements(unsigned long)<br>
&nbsp;&nbsp; const&quot;<br>&nbsp;&nbsp; File: c:\itk\insighttoolkit-3.10.1\code\common\itkImportImageContainer.txx<br>&nbsp;&nbsp; Line: 194<br>&nbsp;&nbsp; Description: Failed to allocate memory for image.</div>
<div><br>&nbsp;&nbsp; The image file I am running is 512x512x46 (~25M). I slightly extracted the<br>&nbsp;&nbsp; file into 22M and obtained a deform field (DF.mhd) of 62M. I tried the<br>&nbsp;&nbsp; itkVectorResampleImageFilter to restored the deform field (DF_EX.mhd) to<br>
&nbsp;&nbsp; orginal size (physical size) but with less resolution. Theoretically<br>&nbsp;&nbsp; DF_EX.mhd is less size (in memory) than DF.mhd. How come I still get the<br>&nbsp;&nbsp; &quot;Failed to allocate memory for image&quot;?<br>&nbsp;&nbsp; Attached is my code to resample the vector field.<br>
&nbsp;&nbsp; Regards,<br>&nbsp;&nbsp; Howard<br><br></div>
<div class="gmail_quote">On Sun, Feb 15, 2009 at 7:57 AM, Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Try itkVectorResampleImageFilter.<br><br>Examples/Filtering/ResampleImageFilter9.cxx illustrates the class.<br>

<div>
<div></div>
<div class="Wj3C7c"><br>On Sat, Feb 14, 2009 at 4:11 PM, Hsiang-Chi Kuo &lt;<a href="mailto:kuoxgx@gmail.com">kuoxgx@gmail.com</a>&gt; wrote:<br>&gt; Hi,<br>&gt;<br>&gt; &nbsp;I am working on a deformable registration program with the diffeomorphic<br>
&gt; &nbsp; Demons registration filter. Due to the memory issue, I have to apply the<br>&gt; &nbsp; region of interest filer to the input image such that I can run the<br>&gt; program &nbsp;and get the deform field. Then I tried to use resample image filter<br>
&gt; to<br>&gt; &nbsp; restore the size of the deform field back to the original size of the<br>&gt; input image. First, the resample image &nbsp;filter dose not allow me to set the<br>&gt; &nbsp; default pixel to zero. If I by pass the setting of the background to<br>
&gt; zero, it turn out the attached error message.<br>&gt; &nbsp; Dose the resample image filter support vector field? If not, any way I<br>&gt; can solve my problem? Bellowed please also find part of my code.<br>&gt; &nbsp; Thanks and regards,<br>
&gt; Howard<br>&gt;<br>&gt; typedef itk::Image&lt; VectorPixelType, Dimension &gt; &nbsp; DeformationFieldType;<br>&gt; &nbsp; typedef itk::ImageFileWriter&lt; DeformationFieldType &gt; &nbsp;FieldWriterType;<br>&gt;<br>&gt; &nbsp; typename FieldWriterType::Pointer fieldWriter = FieldWriterType::New();<br>
&gt; &nbsp; fieldWriter-&gt;SetFileName( args.outputFieldFile0.c_str() );<br>&gt;<br>&gt; &nbsp; typedef<br>&gt; itk::ResampleImageFilter&lt;DeformationFieldType,DeformationFieldType&gt;<br>&gt; FilterType;<br>&gt; &nbsp; FilterType::Pointer resampleFilter = FilterType::New();<br>
&gt;<br>&gt; &nbsp; typedef itk::AffineTransform&lt; double, Dimension &gt; &nbsp;TransformType;<br>&gt;<br>&gt; &nbsp; TransformType::Pointer transform = TransformType::New();<br>&gt; &nbsp; resampleFilter-&gt;SetTransform( transform );<br>
&gt;<br>&gt; &nbsp; typedef itk::NearestNeighborInterpolateImageFunction&lt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DeformationFieldType, double &gt; &nbsp;InterpolatorType;<br>&gt;<br>&gt; &nbsp; InterpolatorType::Pointer interpolator = InterpolatorType::New();<br>
&gt; &nbsp; resampleFilter-&gt;SetInterpolator( interpolator );<br>&gt;<br>&gt; &nbsp; //resampleFilter-&gt;SetDefaultPixelValue( 0 );<br>&gt;<br>&gt; &nbsp; typename ImageType::Pointer outputImage = 0;<br>&gt; &nbsp; outputImage = outputImageReader -&gt; GetOutput();<br>
&gt; &nbsp; resampleFilter-&gt;SetSize(<br>&gt; outputImage-&gt;GetLargestPossibleRegion().GetSize() );<br>&gt; &nbsp; resampleFilter-&gt;SetInput( defField );<br>&gt; &nbsp; fieldWriter-&gt;SetInput( resampleFilter-&gt;GetOutput() );<br>
&gt; &nbsp; fieldWriter-&gt;SetUseCompression( true );<br>&gt;<br>&gt; &nbsp; try<br>&gt; &nbsp; &nbsp; &nbsp; {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fieldWriter-&gt;Update();<br>&gt; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; &nbsp; catch( itk::ExceptionObject&amp; err )<br>&gt; &nbsp; &nbsp; &nbsp; {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::cout &lt;&lt; &quot;Unexpected error.&quot; &lt;&lt; std::endl;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::cout &lt;&lt; err &lt;&lt; std::endl;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit( EXIT_FAILURE );<br>&gt; &nbsp; &nbsp; &nbsp; }<br></div></div>&gt; _____________________________________<br>&gt; Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br>
&gt;<br>&gt; Visit other Kitware open-source projects at<br>&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>&gt;<br>&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>&gt;<br>&gt; Follow this link to subscribe/unsubscribe:<br>&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;<br>&gt;<br></blockquote></div><br>