]> Creatis software - clitk.git/blob - tools/clitkRigidRegistration.cxx
removed headers
[clitk.git] / tools / clitkRigidRegistration.cxx
1 /**
2  -------------------------------------------------
3  * @file   clitkRigidRegistration.cxx
4  * @author Jef Vandemeulebroucke <jef.Vandemeulebroucke@creatis.insa-lyon.fr>
5  * @date   14 August 2007
6  * 
7  * @brief Perform a rigid registration between 2 images
8  * 
9  -------------------------------------------------*/
10
11
12 // clitk include
13 #include "clitkIO.h"
14 #include "clitkImageCommon.h"
15 #include "clitkRigidRegistration_ggo.h"
16 #include "clitkRigidRegistrationGenericFilter.h"
17
18 using namespace clitk;
19 using namespace std;
20
21
22 int main( int argc, char *argv[] )
23 {
24   //init command line and check options
25   GGO(args_info);  
26   CLITK_INIT;
27   
28   //---------------------------------------------------------------------------
29   //Set all the options passed through the commandline
30
31   RigidRegistrationGenericFilter rigidRegistration;
32
33   rigidRegistration.SetVerbose(args_info.verbose_flag);
34   rigidRegistration.SetGradient(args_info.gradient_flag);
35   rigidRegistration.SetZeroOrigin(args_info.zero_origin_flag);
36
37  //Input
38   rigidRegistration.SetFixedImageName(args_info.reference_arg);
39   rigidRegistration.SetMovingImageName(args_info.object_arg);
40   rigidRegistration.SetFixedImageMaskGiven(args_info.mask_given);
41   if (args_info.mask_given)   rigidRegistration.SetFixedImageMaskName(args_info.mask_arg);
42
43   //Output
44   rigidRegistration.SetOutputGiven(args_info.output_given);
45   if (args_info.output_given)  rigidRegistration.SetOutputName(args_info.output_arg);
46   rigidRegistration.SetCheckerAfterGiven(args_info.checker_after_given);
47   if (args_info.checker_after_given)  rigidRegistration.SetCheckerAfterName(args_info.checker_after_arg);
48   rigidRegistration.SetCheckerBeforeGiven(args_info.checker_before_given);
49   if (args_info.checker_before_given)  rigidRegistration.SetCheckerBeforeName(args_info.checker_before_arg);
50   rigidRegistration.SetBeforeGiven(args_info.before_given);
51   if (args_info.before_given)  rigidRegistration.SetBeforeName(args_info.before_arg);
52   rigidRegistration.SetAfterGiven(args_info.after_given);
53   if (args_info.after_given)  rigidRegistration.SetAfterName(args_info.after_arg);
54   rigidRegistration.SetMatrixGiven(args_info.matrix_given);
55   if (args_info.matrix_given)  rigidRegistration.SetMatrixName(args_info.matrix_arg);
56
57   //Interp
58   rigidRegistration.SetInterpType(args_info.interp_arg);
59
60   //Transform
61   rigidRegistration.SetRotX(args_info.rotX_arg);
62   rigidRegistration.SetRotY(args_info.rotY_arg);
63   rigidRegistration.SetRotZ(args_info.rotZ_arg);
64   rigidRegistration.SetTransX(args_info.transX_arg);
65   rigidRegistration.SetTransY(args_info.transY_arg);
66   rigidRegistration.SetTransZ(args_info.transZ_arg);
67
68   //Optimizer
69   rigidRegistration.SetLevels(args_info.levels_arg); 
70   rigidRegistration.SetIstep(args_info.Istep_arg); 
71   rigidRegistration.SetFstep(args_info.Fstep_arg); 
72   rigidRegistration.SetRelax(args_info.relax_arg);
73   rigidRegistration.SetInc(args_info.inc_arg);
74   rigidRegistration.SetDec(args_info.dec_arg);
75   rigidRegistration.SetIter(args_info.iter_arg);
76   rigidRegistration.SetRweight(args_info.Rweight_arg);
77   rigidRegistration.SetTweight(args_info.Tweight_arg);
78
79   //Metric
80   rigidRegistration.SetMetricType(args_info.metric_arg);
81   rigidRegistration.SetSamples(args_info.samples_arg);
82   rigidRegistration.SetBins(args_info.bins_arg);
83   rigidRegistration.SetRandom(args_info.random_flag);
84   rigidRegistration.SetStdDev(args_info.stdDev_arg);
85
86   //Preprocessing
87   rigidRegistration.SetBlur(args_info.blur_arg); 
88   rigidRegistration.SetNormalize(args_info.normalize_flag); 
89
90   rigidRegistration.Update();
91   
92 }