X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkTransformUtilities.h;fp=common%2FclitkTransformUtilities.h;h=cbc30b97ac806aa0cd3c91d531dc4cac082bd2e8;hb=cedcf4f412f2a3e6635d546c2b9c678022497535;hp=3bdf22026ee0ab969a5fe8f6274db3a0fd4fa2e3;hpb=46df890b27e7d340b52be7f67947bc570db4b05f;p=clitk.git diff --git a/common/clitkTransformUtilities.h b/common/clitkTransformUtilities.h index 3bdf220..cbc30b9 100644 --- a/common/clitkTransformUtilities.h +++ b/common/clitkTransformUtilities.h @@ -23,7 +23,8 @@ #include "itkPoint.h" #include "clitkImageCommon.h" #include "clitkCommon.h" - +#include +#include namespace clitk { @@ -278,6 +279,29 @@ namespace clitk return matrix; } + inline vtkMatrix4x4* ReadVTKMatrix3D(std::string fileName) { + // read input matrix + std::ifstream is; + openFileForReading(is, fileName); + std::vector nb; + double x; + skipComment(is); + is >> x; + while (!is.eof()) { + nb.push_back(x); + skipComment(is); + is >> x; + } + + vtkSmartPointer matrix = vtkSmartPointer::New(); + unsigned int index=0; + for (unsigned int i=0;i<4;i++) + for (unsigned int j=0;j<4;j++) + matrix->SetElement(i,j, nb[index++]); + + return matrix; + } + inline itk::Matrix ReadMatrix2D(std::string fileName) { // read input matrix