X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FrtkImagXImageIO.cxx;h=09cb910558dc9e9eabedfb81be6c23b0bee42bef;hb=d55f025b18f68066a52b8f33c2dc6481e82c2580;hp=d197ed7d122c9a702befd5b0fd33bac2cd14a8fc;hpb=4dc4e34d8e3ffb512b678de14f3a16df31214878;p=clitk.git diff --git a/common/rtkImagXImageIO.cxx b/common/rtkImagXImageIO.cxx index d197ed7..09cb910 100644 --- a/common/rtkImagXImageIO.cxx +++ b/common/rtkImagXImageIO.cxx @@ -57,7 +57,7 @@ void rtk::ImagXImageIO::ReadImageInformation() if(pixelType=="Type_float") SetComponentType(itk::ImageIOBase::FLOAT); - if(dic["dimensions"].GetPointer()==NULL) + if( dic["dimensions"].GetPointer() == NULL ) SetNumberOfDimensions(3); else SetNumberOfDimensions( ( dynamic_cast(dic["dimensions"].GetPointer() )->GetMetaDataObjectValue() ) ); @@ -73,15 +73,22 @@ void rtk::ImagXImageIO::ReadImageInformation() { SetDimensions(2, dynamic_cast(dic["z"].GetPointer() )->GetMetaDataObjectValue() ); SetSpacing(2, dynamic_cast(dic["spacing_z"].GetPointer() )->GetMetaDataObjectValue() ); + if(GetSpacing(2) == 0) + SetSpacing(2, 1); } - std::istringstream iss( - dynamic_cast(dic["matrixTransform"].GetPointer() )->GetMetaDataObjectValue() ); itk::Matrix matrix; - for(unsigned int j=0; j<4; j++) - for(unsigned int i=0; i<4; i++) - iss >> matrix[j][i]; - matrix /= matrix[3][3]; + if(dic["matrixTransform"].GetPointer() == NULL) + matrix.SetIdentity(); + else + { + std::istringstream iss( + dynamic_cast(dic["matrixTransform"].GetPointer() )->GetMetaDataObjectValue() ); + for(unsigned int j=0; j<4; j++) + for(unsigned int i=0; i<4; i++) + iss >> matrix[j][i]; + matrix /= matrix[3][3]; + } std::vector direction; for(unsigned int i=0; i