]> Creatis software - clitk.git/commitdiff
Add missing clitkElastixTransformToMatrix
authorDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Fri, 19 Jul 2013 07:53:55 +0000 (09:53 +0200)
committerDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Fri, 19 Jul 2013 07:53:55 +0000 (09:53 +0200)
tools/clitkElastixTransformToMatrix.cxx [new file with mode: 0644]

diff --git a/tools/clitkElastixTransformToMatrix.cxx b/tools/clitkElastixTransformToMatrix.cxx
new file mode 100644 (file)
index 0000000..59bf49e
--- /dev/null
@@ -0,0 +1,51 @@
+/*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
+
+  Authors belong to:
+  - University of LYON              http://www.universite-lyon.fr/
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
+  - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
+
+  This software is distributed WITHOUT ANY WARRANTY; without even
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE.  See the copyright notices for more information.
+
+  It is distributed under dual licence
+
+  - BSD        See included LICENSE.txt file
+  - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+===========================================================================**/
+
+// clitk
+#include "clitkElastixTransformToMatrix_ggo.h"
+#include "clitkAffineTransformGenericFilter.h"
+
+//--------------------------------------------------------------------
+int main(int argc, char * argv[])
+{
+
+  // Init command line
+  GGO(clitkElastixTransformToMatrix, args_info);
+  CLITK_INIT;
+
+  // Use static fct of AffineTransformGenericFilter
+  typedef clitk::AffineTransformGenericFilter<args_info_clitkElastixTransformToMatrix> FilterType;
+  std::vector<std::string> l;
+  l.push_back(args_info.input_arg);
+  itk::Matrix<double, 4, 4> m = 
+    FilterType::createMatrixFromElastixFile<3, int>(l, args_info.verbose_flag);
+
+  // Print matrix
+  std::ofstream os;
+  clitk::openFileForWriting(os, args_info.output_arg);
+  for(unsigned int i=0; i<4; i++) {
+    for(unsigned int j=0; j<4; j++)
+      os << m[i][j] << " ";
+    os << std::endl;
+  }
+  os.close();  
+
+  return EXIT_SUCCESS;
+}// end main
+
+//--------------------------------------------------------------------