]> Creatis software - clitk.git/commitdiff
Corrected bugs regarding the rigid case and the initialization.
authorsrit <srit>
Thu, 15 Jul 2010 13:22:00 +0000 (13:22 +0000)
committersrit <srit>
Thu, 15 Jul 2010 13:22:00 +0000 (13:22 +0000)
registration/clitkAffineRegistration.ggo
registration/clitkAffineRegistrationGenericFilter.txx
registration/clitkGenericAffineTransform.cxx
registration/clitkGenericAffineTransform.h
registration/clitkGenericAffineTransform.txx

index 6c9f439c2b131ede716dc6828bd922b80e66a13c..6c268785eec01c9a80102f343c6f01e9077de23d 100644 (file)
@@ -42,8 +42,8 @@ option "transform"  - "Type: 0=Identity, 1=Translation, 2=Rigid, 3=Affine" int n
 option "transX"     x "1-3: Initial translation in mm along the X axis"  float no  default="0.0"
 option "transY"     y "1-3: Initial translation in mm along the Y axis"  float no  default="0.0"
 option "transZ"     z "1-3: Initial translation in mm along the Z axis"  float no  default="0.0"
-option "initMatrix" - "2-3: Initial matrix (reference to object space) filename " string  no
-option "moment"     - "2-3: Initialize translation by aligning the center of gravities for the respective intensities" flag off
+option "initMatrix" - "1-3: Initial matrix (reference to object space) filename " string  no
+option "moment"     - "1-3: Initialize translation by aligning the center of gravities for the respective intensities" flag off
 
 section "Metric (optimized, threaded versions are available for *, compile ITK with REVIEW and OPT_REGISTRATION enabled)"
 
index 90fb6e4d23f26f82cfed5a7a2fe415b135f8ed57..2ece12185f41ef6feea53928f5766d69cc724b9e 100644 (file)
@@ -527,7 +527,7 @@ AffineRegistrationGenericFilter::UpdateWithDimAndPixelType()
       matrix[3][3] = 1.0;
     }
   } else {
-//    matrix = clitk::GetBackwardAffineMatrix3D(finalParameters);
+    matrix = clitk::GetBackwardAffineMatrix<Dimension>(finalParameters);
   }
 
   std::cout << " Affine transform matrix =" << std::endl;
index f1db790c31584a66a474d62d967361a85aa23d1e..de53ebde690621c740fee304b5981f9041221358 100644 (file)
@@ -1,4 +1,4 @@
-/*=========================================================================
+ /*=========================================================================
   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
 
   Authors belong to:
@@ -29,9 +29,10 @@ template<>
 itk::MatrixOffsetTransformBase<double, 2, 2>::Pointer
 clitk::GenericAffineTransform<args_info_clitkAffineRegistration, double, 2>::GetNewEulerTransform()
 {
-  itk::Euler2DTransform< double >::Pointer p = itk::Euler2DTransform< double >::New();
+  typedef itk::Euler2DTransform< double > Transform2DType;
+  Transform2DType::Pointer t2 = Transform2DType::New();
   itk::MatrixOffsetTransformBase<double, 2, 2>::Pointer pp;
-  pp = p;
+  pp = t2;
   return pp;
 }
 
@@ -40,9 +41,11 @@ template<>
 itk::MatrixOffsetTransformBase<double, 3, 3>::Pointer
 clitk::GenericAffineTransform<args_info_clitkAffineRegistration, double, 3>::GetNewEulerTransform()
 {
-  itk::Euler3DTransform< double >::Pointer p = itk::Euler3DTransform< double >::New();
+  typedef itk::Euler3DTransform < double > Transform3DType;
+  Transform3DType::Pointer t3 = Transform3DType::New();
+  t3->SetComputeZYX(true); //SR: required?
   itk::MatrixOffsetTransformBase<double, 3, 3>::Pointer pp;
-  pp = p;
+  pp = t3;
   return pp;
 }
 }
index a4030746b1c155d5c1fb91b1e1640b33f63e0d3e..f565a5e97d16fed939a08fac23d13cd7d2f04075 100644 (file)
@@ -33,8 +33,8 @@ option "transform"  - "Type: 0=Identity, 1=Translation, 2=Rigid, 3=Affine" int n
 option "transX"     x "1-3: Initial translation in mm along the X axis"  float no  default="0.0"
 option "transY"     y "1-3: Initial translation in mm along the Y axis"  float no  default="0.0"
 option "transZ"     z "1-3: Initial translation in mm along the Z axis"  float no  default="0.0"
-option "initMatrix" - "2-3: Initial matrix (reference to object space) filename " string  no
-option "moment"     - "2-3: Initialize translation by aligning the center of gravities for the respective intensities" flag off
+option "initMatrix" - "1-3: Initial matrix (reference to object space) filename " string  no
+option "moment"     - "1-3: Initialize translation by aligning the center of gravities for the respective intensities" flag off
 
 The use will look something like
 
index eb4c6f90e752ed0255364b55b65e15ee10f7ea03..4b4b067d6508a854ff199b8cd23b2e991f17985a 100644 (file)
@@ -92,10 +92,10 @@ GenericAffineTransform<args_info_type, TCoordRep, Dimension>::GetTransform()
     tMatrix->SetCenter(center);
 
     //Initialize transform
+    tMatrix->SetOffset(offset);
     if(m_ArgsInfo.initMatrix_given) {
       itk::Matrix<double, Dimension+1 , Dimension+1> matHom = ReadMatrix<Dimension>(m_ArgsInfo.initMatrix_arg);
       typename MatrixXType::MatrixType matrix = GetRotationalPartMatrix(matHom);
-      tMatrix->SetOffset(offset);
       tMatrix->SetMatrix(matrix);
     }
     m_Transform=tMatrix;