]> Creatis software - clitk.git/blob - tools/clitkImageConvert.cxx
Add GetToolCreatorFromName
[clitk.git] / tools / clitkImageConvert.cxx
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to:
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18 #ifndef CLITKIMAGECONVERT_CXX
19 #define CLITKIMAGECONVERT_CXX
20 /**
21    -------------------------------------------------
22    * @file   clitkImageConvert.cxx
23    * @author David Sarrut <david.sarrut@creatis.insa-lyon.fr>
24    * @date   03 Jul 2006 10:28:32
25    -------------------------------------------------*/
26
27 // clitk include
28 #include "clitkImageConvert_ggo.h"
29 #include "clitkIO.h"
30 #include "clitkImageCommon.h"
31 #include "clitkImageConvertGenericFilter.h"
32
33 //-------------------------------------------------------------------=
34 int main(int argc, char * argv[])
35 {
36
37   // init command line
38   GGO(clitkImageConvert, args_info);
39   CLITK_INIT;
40
41   // Get list of filenames
42   std::vector<std::string> l;
43   for(unsigned int i=0; i<args_info.input_given; i++) {
44     l.push_back(args_info.input_arg[i]);
45   }
46   for(unsigned int i=0; i<args_info.inputs_num; i++) {
47     l.push_back(args_info.inputs[i]);
48   }
49   if (l.size() < 1) {
50     std::cerr << "Error, you should give at least one --input option or one image filename on the commande line." << std::endl;
51     exit(0);
52   }
53
54   // Create filter
55   clitk::ImageConvertGenericFilter::Pointer filter = clitk::ImageConvertGenericFilter::New();
56   filter->SetInputFilenames(l);
57   filter->SetIOVerbose(args_info.verbose_flag);
58   filter->SetOutputFilename(args_info.output_arg);
59   filter->EnableWriteCompression(args_info.compression_flag);
60   if (args_info.type_given) filter->SetOutputPixelType(args_info.type_arg);
61
62   // Go !
63   CLITK_TRY_CATCH_EXIT(filter->Update());
64
65   // this is the end my friend
66   return 0;
67 }
68 //-------------------------------------------------------------------=
69
70 #endif /* end #define CLITKIMAGECONVERT_CXX */
71