X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FvvImageReader.cxx;h=a2fc4e964ab8edeeef1e57cb0f6a4b742c371d44;hb=e6929caa9906837ade57b84706fe0a38529dc93a;hp=23c78f155dd9e4c51ddad251cf87c549e6d7b70c;hpb=3cc71f15eada6421e8dc3a6a3d9632946f387e2d;p=clitk.git diff --git a/common/vvImageReader.cxx b/common/vvImageReader.cxx index 23c78f1..a2fc4e9 100644 --- a/common/vvImageReader.cxx +++ b/common/vvImageReader.cxx @@ -19,6 +19,7 @@ #define VVIMAGEREADER_CXX #include +#include "gdcmImageHelper.h" #include "vvImageReader.h" #include "vvImageReader.txx" #include "clitkTransformUtilities.h" @@ -32,6 +33,7 @@ vvImageReader::vvImageReader() mLastError = ""; mType = UNDEFINEDIMAGETYPE; mSlice = 0; + mPatientCoordinateSystem = false; } //------------------------------------------------------------------------------ @@ -49,6 +51,14 @@ void vvImageReader::Update() //------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +void vvImageReader::SetPatientCoordinateSystem(bool patientCoordinateSystem) +{ + mPatientCoordinateSystem = patientCoordinateSystem; +} +//------------------------------------------------------------------------------ + + //------------------------------------------------------------------------------ void vvImageReader::Update(LoadedImageType type) { @@ -57,9 +67,12 @@ void vvImageReader::Update(LoadedImageType type) mLastError="Unable to read file."; } else { reader->SetFileName(mInputFilenames[0]); + gdcm::ImageHelper::SetForcePixelSpacing(true); reader->ReadImageInformation(); if (mInputFilenames.size() > 1) Update(reader->GetNumberOfDimensions()+1,reader->GetComponentTypeAsString(reader->GetComponentType()),type); + else if (reader->GetNumberOfComponents() > 1 && type != VECTORFIELD && type != VECTORFIELDWITHTIME) + Update(reader->GetNumberOfDimensions()+1,reader->GetComponentTypeAsString(reader->GetComponentType()),VECTORPIXELIMAGE); else Update(reader->GetNumberOfDimensions(),reader->GetComponentTypeAsString(reader->GetComponentType()),type); } @@ -188,9 +201,7 @@ void vvImageReader::ReadMatImageTransform() f.open(filename.c_str()); if(!itkMatRead && f.is_open()) { itkMatRead = true; - std::vector l; - l.push_back(filename); - itkMat = clitk::createMatrixFromElastixFile<3>(l, true); + itkMat = clitk::createMatrixFromElastixFile<3>(filename, true); } f.close();