1 /* =========================================================================
2 * @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 * =========================================================================
5 #include <tclap/CmdLine.h>
7 #include <itkImageFileReader.h>
8 #include <itkImageFileWriter.h>
10 // -------------------------------------------------------------------------
11 const unsigned int Dim = 2;
12 typedef unsigned char TPixel;
13 typedef itk::Image< TPixel, Dim > TImage;
15 // -------------------------------------------------------------------------
16 int main( int argc, char* argv[] )
19 std::string input_image_fname, output_image_fname;
22 TCLAP::CmdLine cmd( "Convert an image's format", ' ', "0.0.0" );
23 TCLAP::ValueArg< std::string > input(
24 "i", "input", "Input image", true, "", "filename"
26 TCLAP::ValueArg< std::string > output(
27 "o", "output", "Output image", true, "", "filename"
31 cmd.parse( argc, argv );
32 input_image_fname = input.getValue( );
33 output_image_fname = output.getValue( );
35 catch( TCLAP::ArgException& err )
39 << err.error( ) << " "
40 << err.argId( ) << std::endl;
46 typedef itk::ImageFileReader< TImage > TReader;
47 TReader::Pointer reader = TReader::New( );
48 reader->SetFileName( input_image_fname );
50 typedef itk::ImageFileWriter< TImage > TWriter;
51 TWriter::Pointer writer = TWriter::New( );
52 writer->SetInput( reader->GetOutput( ) );
53 writer->SetFileName( output_image_fname );
58 catch( std::exception& err )
60 std::cerr << "Error caught: " << err.what( ) << std::endl;