1 /*-------------------------------------------------------------------------
6 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
7 l'Image). All rights reserved. See Doc/License.txt or
8 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notices for more information.
14 -------------------------------------------------------------------------*/
17 -------------------------------------------------
18 * @file clitkRigidRegistration.cxx
19 * @author Jef Vandemeulebroucke <jef.Vandemeulebroucke@creatis.insa-lyon.fr>
20 * @date 14 August 2007
22 * @brief Perform a rigid registration between 2 images
24 -------------------------------------------------*/
29 #include "clitkImageCommon.h"
30 #include "clitkRigidRegistration_ggo.h"
31 #include "clitkRigidRegistrationGenericFilter.h"
33 using namespace clitk;
37 int main( int argc, char *argv[] )
39 //init command line and check options
43 //---------------------------------------------------------------------------
44 //Set all the options passed through the commandline
46 RigidRegistrationGenericFilter rigidRegistration;
48 rigidRegistration.SetVerbose(args_info.verbose_flag);
49 rigidRegistration.SetGradient(args_info.gradient_flag);
50 rigidRegistration.SetZeroOrigin(args_info.zero_origin_flag);
53 rigidRegistration.SetFixedImageName(args_info.reference_arg);
54 rigidRegistration.SetMovingImageName(args_info.object_arg);
55 rigidRegistration.SetFixedImageMaskGiven(args_info.mask_given);
56 if (args_info.mask_given) rigidRegistration.SetFixedImageMaskName(args_info.mask_arg);
59 rigidRegistration.SetOutputGiven(args_info.output_given);
60 if (args_info.output_given) rigidRegistration.SetOutputName(args_info.output_arg);
61 rigidRegistration.SetCheckerAfterGiven(args_info.checker_after_given);
62 if (args_info.checker_after_given) rigidRegistration.SetCheckerAfterName(args_info.checker_after_arg);
63 rigidRegistration.SetCheckerBeforeGiven(args_info.checker_before_given);
64 if (args_info.checker_before_given) rigidRegistration.SetCheckerBeforeName(args_info.checker_before_arg);
65 rigidRegistration.SetBeforeGiven(args_info.before_given);
66 if (args_info.before_given) rigidRegistration.SetBeforeName(args_info.before_arg);
67 rigidRegistration.SetAfterGiven(args_info.after_given);
68 if (args_info.after_given) rigidRegistration.SetAfterName(args_info.after_arg);
69 rigidRegistration.SetMatrixGiven(args_info.matrix_given);
70 if (args_info.matrix_given) rigidRegistration.SetMatrixName(args_info.matrix_arg);
73 rigidRegistration.SetInterpType(args_info.interp_arg);
76 rigidRegistration.SetRotX(args_info.rotX_arg);
77 rigidRegistration.SetRotY(args_info.rotY_arg);
78 rigidRegistration.SetRotZ(args_info.rotZ_arg);
79 rigidRegistration.SetTransX(args_info.transX_arg);
80 rigidRegistration.SetTransY(args_info.transY_arg);
81 rigidRegistration.SetTransZ(args_info.transZ_arg);
84 rigidRegistration.SetLevels(args_info.levels_arg);
85 rigidRegistration.SetIstep(args_info.Istep_arg);
86 rigidRegistration.SetFstep(args_info.Fstep_arg);
87 rigidRegistration.SetRelax(args_info.relax_arg);
88 rigidRegistration.SetInc(args_info.inc_arg);
89 rigidRegistration.SetDec(args_info.dec_arg);
90 rigidRegistration.SetIter(args_info.iter_arg);
91 rigidRegistration.SetRweight(args_info.Rweight_arg);
92 rigidRegistration.SetTweight(args_info.Tweight_arg);
95 rigidRegistration.SetMetricType(args_info.metric_arg);
96 rigidRegistration.SetSamples(args_info.samples_arg);
97 rigidRegistration.SetBins(args_info.bins_arg);
98 rigidRegistration.SetRandom(args_info.random_flag);
99 rigidRegistration.SetStdDev(args_info.stdDev_arg);
102 rigidRegistration.SetBlur(args_info.blur_arg);
103 rigidRegistration.SetNormalize(args_info.normalize_flag);
105 rigidRegistration.Update();