[Insight-users] issue with metaImageIO
ken
wastrel at gmail.com
Thu Jun 4 12:42:03 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/cc326111/attachment-0001.htm>
More information about the Insight-users
mailing list