[Insight-users] issue with metaImageIO

ken wastrel at gmail.com
Thu Jun 4 11:18:07 EDT 2009


Hi Luis,

I attached the files. Could you please to run it?

Thanks in advance,

Ken

On Thu, Jun 4, 2009 at 6:41 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:

>
> Hi Ken,
>
> Thanks for the clarification.
>
> From your code, I don't see how is it possible that the program
> is writing the image in the filename A.raw.
>
> I would suggest to clean up your output directory, rerun the program
> and to double check the date and time of creation of the output
> files.
>
>
>   Regards,
>
>
>       Luis
>
>
> --------------
> ken wrote:
>
>> Hi Luis,
>>
>> Thanks for your reply. I have a meta type data and need to do some
>> pixelwise computation with image iterator. As the very first step , I am
>> thinking to read it in then write it out to test if ImageIO works. The
>> original meta data are A.mhd and A.raw. The output file name associated with
>> writer is Output.mhd. The problem is that the writer writes the image raw
>> data to A.raw instead of Output.raw. Do you have any idel?
>>
>> Thanks,
>>
>> Ken
>>
>>
>> On Wed, Jun 3, 2009 at 10:06 PM, Luis Ibanez <luis.ibanez at kitware.com<mailto:
>> luis.ibanez at kitware.com>> wrote:
>>
>>
>>    Hi Ken,
>>
>>    The description of your problem seems to be incomplete.
>>
>>    Could you please start by telling us what
>>    you are actually trying to do ?
>>
>>
>>       Thanks
>>
>>
>>          Luis
>>
>>
>>    ----
>>
>>    BTW: Please note that you don't need to connect a MetaImageIO
>>        to the file writer. The ImageIO factories take care of
>>        finding the proper ImageIO class based on the filename
>>        that you pass to the writer.
>>
>>    Also, please about the use of the expression
>>
>>            "using namespace std"
>>
>>    it defeats the purpose of using namespaces.
>>
>>
>>
>>  ----------------------------------------------------------------------------
>>    ken wrote:
>>
>>        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!
>>
>>
>>
>>  /*=========================================================================*/
>>
>>        #if defined(_MSC_VER)
>>        #pragma warning ( disable : 4786 )
>>        #endif
>>
>>        #include "itkImage.h"
>>        #include "itkImageFileReader.h"
>>        #include "itkImageFileWriter.h"
>>
>>        #include "itkMetaImageIO.h"
>>
>>        #include <iostream>
>>        #include <limits>
>>        #include <iomanip>
>>        #include <string>
>>        #include <sstream>
>>        #include <typeinfo>
>>        using namespace std;
>>
>>
>>        int main( int argc, char **argv ) {
>>
>>           //Input and output image data directory
>>           std::string inputImage = "A.mhd";
>>           std::string outputHeaderName = "Output.mhd";
>>
>>           //Define the pixel type and dimension for reader
>>           typedef float InternalPixelType;
>>           const unsigned int    Dimension=3;
>>           typedef itk::Image<InternalPixelType, Dimension>
>> InternalImageType;
>>
>>           //Define the reader
>>           typedef itk::ImageFileReader<InternalImageType>  ReaderType;
>>           ReaderType::Pointer reader = ReaderType::New();
>>           typedef itk::MetaImageIO    MetaImageIOType;
>>           MetaImageIOType::Pointer metaIO=MetaImageIOType::New();
>>           reader->SetImageIO(metaIO);
>>           reader->SetFileName(inputImage);
>>
>>           //Update the reader
>>           try
>>           {
>>               reader->Update();
>>           }
>>           catch(itk::ExceptionObject & ex_reader)
>>           {
>>               std::cerr << "ExceptionObject caught @ _reader !" <<
>>        std::endl;
>>               std::cout<<ex_reader<<std::endl;
>>               return EXIT_FAILURE;
>>           }
>>
>>
>>           //Initialize the writer
>>           typedef unsigned char    OutputPixelType;
>>           typedef itk::Image<OutputPixelType, Dimension>
>> OutputImageType;
>>           typedef itk::ImageFileWriter<OutputImageType>  WriterType;
>>           WriterType::Pointer writer=WriterType::New();
>>           writer->SetImageIO(metaIO);
>>           writer->SetFileName(outputHeaderName);
>>
>>
>>           writer->SetInput(reader->GetOutput());
>>
>>           try
>>           {
>>               writer->Update();
>>           }
>>           catch( itk::ExceptionObject & ex)
>>           {
>>               std::cerr << "ExceptionObject caught @ _writer !" <<
>>        std::endl;
>>               std::cerr << ex << std::endl;
>>               return EXIT_FAILURE;
>>           }
>>
>>           return EXIT_SUCCESS;
>>        }
>>
>>
>>
>>  ------------------------------------------------------------------------
>>
>>        _____________________________________
>>        Powered by www.kitware.com <http://www.kitware.com>
>>
>>        Visit other Kitware open-source projects at
>>        http://www.kitware.com/opensource/opensource.html
>>
>>        Please keep messages on-topic and check the ITK FAQ at:
>>        http://www.itk.org/Wiki/ITK_FAQ
>>
>>        Follow this link to subscribe/unsubscribe:
>>        http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090604/26b2a956/attachment-0001.htm>


More information about the Insight-users mailing list