Hi all:<br>I want to Interpolate two image to n images.<br>Where is my error? Thx.<br><br>#include &quot;itkImage.h&quot;<br>#include &quot;itkImageFileReader.h&quot;<br>#include &quot;itkImageFileWriter.h&quot;<br>#include &quot;
itkInterpolateImageFilter.h&quot;<br><br>#include &lt;stdio.h&gt;<br><br><br>int main( int argc, char * argv[] )<br>{<br>&nbsp; if( argc &lt; 5 ) <br>&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; &quot;Usage: &quot; &lt;&lt; std::endl;<br>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; argv[0] &lt;&lt; &quot;&nbsp; inputImageFile1&nbsp; intputImageFile2 outputImageFileBase numberOfSlices&quot; &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp; <br>&nbsp; typedef&nbsp;&nbsp;&nbsp; float&nbsp;&nbsp;&nbsp; InputPixelType;
<br>&nbsp; typedef&nbsp;&nbsp;&nbsp; float&nbsp;&nbsp;&nbsp; OutputPixelType;<br>&nbsp; typedef itk::Image&lt; InputPixelType,&nbsp; 2 &gt;&nbsp;&nbsp; InputImageType;<br>&nbsp; typedef itk::Image&lt; OutputPixelType, 2 &gt;&nbsp;&nbsp; OutputImageType;<br><br><br>&nbsp; typedef itk::ImageFileReader&lt; InputImageType &gt;&nbsp; ReaderType;
<br><br>&nbsp;<br><br>&nbsp; typedef itk::InterpolateImageFilter&lt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputImageType, OutputImageType &gt;&nbsp; FilterType;<br><br><br><br><br>&nbsp; ReaderType::Pointer reader1 = ReaderType::New();<br>&nbsp; reader1-&gt;SetFileName( argv[1] );
<br><br>&nbsp;&nbsp; ReaderType::Pointer reader2 = ReaderType::New();<br>&nbsp; reader2-&gt;SetFileName( argv[2] );<br><br><br><br>&nbsp; FilterType::Pointer inter = FilterType::New();<br><br>&nbsp;<br>&nbsp; inter-&gt;SetInput1(reader1-&gt;GetOutput() );
<br><br>&nbsp; inter-&gt;SetInput2(reader2-&gt;GetOutput() );<br><br> <br>&nbsp; inter-&gt;SetDistance( 0.2 );<br><br>&nbsp; inter-&gt;Update();<br><br><br>&nbsp; typedef itk::ImageFileWriter&lt; OutputImageType &gt;&nbsp; WriterType;<br><br>&nbsp; WriterType::Pointer writer = WriterType::New();
<br><br><br><br>&nbsp; writer-&gt;SetInput( inter-&gt;GetOutput() );<br><br>&nbsp;<br>&nbsp; char filename[2000];<br><br>&nbsp; int numberOfSlices = atoi(argv[4]);<br>&nbsp; for( int slice=0; slice &lt; numberOfSlices; slice++ )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; sprintf( filename, &quot;%s%03d.png&quot;, argv[2], slice );
<br><br>&nbsp;&nbsp;&nbsp; writer-&gt;SetFileName( filename );<br><br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; writer-&gt;Update();<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; <br> <br><br><br>&nbsp; return EXIT_SUCCESS;<br>}<br>