TARGET_LINK_LIBRARIES(clitkMatrixToElastixTransform clitkCommon )
SET(TOOLS_INSTALL ${TOOLS_INSTALL} clitkMatrixToElastixTransform)
+ WRAP_GGO(clitkMatrixMultiply_GGO_C clitkMatrixMultiply.ggo)
+ ADD_EXECUTABLE(clitkMatrixMultiply clitkMatrixMultiply.cxx ${clitkMatrixMultiply_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkMatrixMultiply clitkCommon )
+ SET(TOOLS_INSTALL ${TOOLS_INSTALL} clitkMatrixMultiply)
+
WRAP_GGO(clitkMatrixInverse_GGO_C clitkMatrixInverse.ggo)
ADD_EXECUTABLE(clitkMatrixInverse clitkMatrixInverse.cxx ${clitkMatrixInverse_GGO_C})
TARGET_LINK_LIBRARIES(clitkMatrixInverse clitkCommon )
--- /dev/null
+/*=========================================================================
+ 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 "clitkMatrixMultiply_ggo.h"
+#include "clitkTransformUtilities.h"
+#include "clitkIO.h"
+#include "clitkMatrix.h"
+
+//--------------------------------------------------------------------
+int main(int argc, char * argv[])
+{
+ // Init command line
+ GGO(clitkMatrixMultiply, args_info);
+ CLITK_INIT;
+
+ // Read matrix
+ itk::Matrix<double, 4, 4> matrix1, matrix2;
+ try {
+ matrix1 = clitk::ReadMatrix3D(args_info.input1_arg);
+ matrix2 = clitk::ReadMatrix3D(args_info.input2_arg);
+ }
+ catch (itk::ExceptionObject & err) {
+ std::cerr << "Error reading "
+ << args_info.input1_arg
+ << " and "
+ << args_info.input2_arg
+ << std::endl;
+ std::cerr << err.GetDescription() << std::endl;
+ exit(-1);
+ }
+
+ itk::Matrix<double, 4, 4> matrix(matrix2.GetVnlMatrix() * matrix1.GetVnlMatrix());
+
+ // Print matrix
+ std::ofstream os;
+ clitk::openFileForWriting(os, args_info.output_arg);
+ os << clitk::Get4x4MatrixDoubleAsString(matrix, 16);
+ os.close();
+
+ return EXIT_SUCCESS;
+}// end main
+
+//--------------------------------------------------------------------
--- /dev/null
+package "clitkMatrixMultiply"
+version "1.0"
+purpose "Multiply two 4x4 matrices. In matrice notations, does input2*input"
+
+option "config" - "Config file" string optional
+option "input1" i "Input matrix filename" string required
+option "input2" j "Input matrix filename" string required
+option "output" o "Output matrix filename" string required