/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: itkInterfileImageIOTest.cxx,v $ Language: C++ Date: $Date: 2006/08/10 17:38:46 $ Version: $Revision: 1.1.1.1 $ Copyright (c) Insight Software Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #include #include "itkInterfileImageIO.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkImage.h" int itkInterfileImageIOTest(int argc, char * argv[]) { // This test is usually run with the data file // Insight/Testing/Data/Input/cthead1.png if( argc < 2) { std::cerr << "Usage: " << argv[0] << " input output\n"; return 1; } // We are converting read data into RGB pixel image typedef float PixelType; typedef itk::Image ImageType; // Read in the image itk::InterfileImageIO::Pointer io; io = itk::InterfileImageIO::New(); itk::ImageFileReader::Pointer reader; reader = itk::ImageFileReader::New(); reader->SetFileName(argv[1]); reader->SetImageIO(io); reader->Update(); itk::ImageFileWriter::Pointer writer; writer = itk::ImageFileWriter::New(); writer->SetInput(reader->GetOutput()); writer->SetFileName(argv[2]); // Don't reuse the old file object so that we don't inherit settings io = itk::InterfileImageIO::New(); writer->SetImageIO(io); writer->Write(); return EXIT_SUCCESS; }