I am facing some problems with read/write metaImages. The original raw data file was overwritten by the generated raw data files even a new file name was assigned to the writer. Code is below and any input will be appreciated!<br>

<br><br>/*=========================================================================*/<br><br>#if defined(_MSC_VER)<br>#pragma warning ( disable : 4786 )<br>#endif<br><br>#include &quot;itkImage.h&quot;<br>#include &quot;itkImageFileReader.h&quot;<br>

#include &quot;itkImageFileWriter.h&quot;<br><br>#include &quot;itkMetaImageIO.h&quot;<br><br>#include &lt;iostream&gt;<br>#include &lt;limits&gt;<br>#include &lt;iomanip&gt;<br>#include &lt;string&gt;<br>#include &lt;sstream&gt;<br>

#include &lt;typeinfo&gt;<br>using namespace std;<br><br><br>int main( int argc, char **argv ) {<br><br>    //Input and output image data directory<br>    std::string inputImage = &quot;A.mhd&quot;;<br>    std::string outputHeaderName = &quot;Output.mhd&quot;;<br>

<br>    //Define the pixel type and dimension for reader<br>    typedef float InternalPixelType;<br>    const unsigned int    Dimension=3;<br>    typedef itk::Image&lt;InternalPixelType, Dimension&gt;    InternalImageType;<br>

<br>    //Define the reader<br>    typedef itk::ImageFileReader&lt;InternalImageType&gt;  ReaderType;<br>    ReaderType::Pointer reader = ReaderType::New();<br>    typedef itk::MetaImageIO    MetaImageIOType;<br>    MetaImageIOType::Pointer metaIO=MetaImageIOType::New();<br>

    reader-&gt;SetImageIO(metaIO);<br>    reader-&gt;SetFileName(inputImage);<br><br>    //Update the reader<br>    try<br>    {<br>        reader-&gt;Update();<br>    }<br>    catch(itk::ExceptionObject &amp; ex_reader)<br>

    {<br>        std::cerr &lt;&lt; &quot;ExceptionObject caught @ _reader !&quot; &lt;&lt; std::endl;<br>        std::cout&lt;&lt;ex_reader&lt;&lt;std::endl;<br>        return EXIT_FAILURE;<br>    }<br><br><br>    //Initialize the writer<br>

    typedef unsigned char    OutputPixelType;<br>    typedef itk::Image&lt;OutputPixelType, Dimension&gt;    OutputImageType;<br>    typedef itk::ImageFileWriter&lt;OutputImageType&gt;  WriterType;<br>    WriterType::Pointer writer=WriterType::New();<br>

    writer-&gt;SetImageIO(metaIO);<br>    writer-&gt;SetFileName(outputHeaderName);<br><br><br>    writer-&gt;SetInput(reader-&gt;GetOutput());<br><br>    try<br>    {<br>        writer-&gt;Update();<br>    }<br>    catch( itk::ExceptionObject &amp; ex)<br>

    {<br>        std::cerr &lt;&lt; &quot;ExceptionObject caught @ _writer !&quot; &lt;&lt; std::endl;<br>        std::cerr &lt;&lt; ex &lt;&lt; std::endl;<br>        return EXIT_FAILURE;<br>    }<br><br>    return EXIT_SUCCESS;<br>

}<br><br>