]> Creatis software - clitk.git/blob - tools/clitkSplitImage.cxx
cfa9a32f369158335ba713ec263e5a503914c2e0
[clitk.git] / tools / clitkSplitImage.cxx
1 /**
2    ------------------------------------------------=
3    * @file   clitkSplitImage.cxx
4    * @author Joël Schaerer
5    * @date   20 April 2009
6    ------------------------------------------------=*/
7
8 // clitk include
9 #include "clitkSplitImage_ggo.h"
10 #include "clitkSplitImageGenericFilter.h"
11 #include "clitkIO.h"
12
13 //--------------------------------------------------------------------
14 int main(int argc, char * argv[]) {
15
16   // Init command line
17   GGO(clitkSplitImage, args_info);
18   CLITK_INIT;
19
20   // Read image dimension
21   itk::ImageIOBase::Pointer header = clitk::readImageHeader(args_info.input_arg);
22   if (header.IsNull())
23   {
24       std::cerr << "Unable to read image file " << args_info.input_arg << std::endl;
25       std::exit(1);
26   }
27   unsigned int dim = header->GetNumberOfDimensions();
28   
29   // Check parameters
30   if (args_info.dimension_given >= dim) {
31     std::cerr << "ERROR : image has " << dim << "dimensions, split dimension should be between 0 and " << dim-1 << "." << std::endl;
32     exit(-1);
33   }
34   // Main filter
35   clitk::SplitImageGenericFilter filter;
36   filter.SetInputFilename(args_info.input_arg);
37   filter.SetOutputFilename(args_info.output_arg);
38   filter.SetSplitDimension(args_info.dimension_arg);
39   filter.SetVerbose(args_info.verbose_flag);
40   filter.Update();
41
42   // this is the end my friend  
43   return 0;
44 } // end main