X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageCommon.txx;h=5aa3b2eba55e44db3e973328c370b05935f95cab;hb=fa8ffff2bc630030df29be49e0779da63398d7ba;hp=7b6badf48d1286e87a40ba07e4a2023f285cde52;hpb=83de28515d7bbb3898d5adee7a900146c2c15d89;p=clitk.git diff --git a/common/clitkImageCommon.txx b/common/clitkImageCommon.txx index 7b6badf..5aa3b2e 100644 --- a/common/clitkImageCommon.txx +++ b/common/clitkImageCommon.txx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.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 @@ -14,14 +14,15 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef CLITKIMAGECOMMON_TXX #define CLITKIMAGECOMMON_TXX //-------------------------------------------------------------------- template -typename itk::Image::Pointer NewImage1D(int vsize, double vspacing) +typename itk::Image::Pointer +NewImage1D(int vsize, double vspacing) { typedef itk::Image ImageType; typename ImageType::Pointer g = ImageType::New(); @@ -39,7 +40,8 @@ typename itk::Image::Pointer NewImage1D(int vsize, double vspacing) //-------------------------------------------------------------------- template -typename itk::Image::Pointer NewImage2D(int sx, int sy, double dx, double dy) +typename itk::Image::Pointer +NewImage2D(int sx, int sy, double dx, double dy) { typedef itk::Image ImageType; typename ImageType::Pointer g = ImageType::New(); @@ -57,9 +59,11 @@ typename itk::Image::Pointer NewImage2D(int sx, int sy, double dx, } //-------------------------------------------------------------------- + //-------------------------------------------------------------------- template -typename itk::Image::Pointer NewImage3D(int sx, int sy, int sz, double dx, double dy, double dz) +typename itk::Image::Pointer +NewImage3D(int sx, int sy, int sz, double dx, double dy, double dz) { typedef itk::Image ImageType; typename ImageType::Pointer g = ImageType::New(); @@ -319,13 +323,12 @@ void ComputeWeightsOfEachClasses(const typename InputImageType::Pointer & input, //-------------------------------------------------------------------- template -bool HasSameSizeAndSpacing(typename ImageType1::ConstPointer A, - typename ImageType2::ConstPointer B) +bool HaveSameSpacing(typename ImageType1::ConstPointer A, + typename ImageType2::ConstPointer B) { if (A->GetImageDimension() != B->GetImageDimension()) return false; for(unsigned int i=0; iGetImageDimension(); i++) { if (A->GetSpacing()[i] != B->GetSpacing()[i]) return false; - if (A->GetLargestPossibleRegion().GetSize()[i] != B->GetLargestPossibleRegion().GetSize()[i]) return false; } return true; } @@ -333,17 +336,62 @@ bool HasSameSizeAndSpacing(typename ImageType1::ConstPointer A, //-------------------------------------------------------------------- template -bool HasSameSizeAndSpacing(typename ImageType1::Pointer A, - typename ImageType2::Pointer B) +bool HaveSameSpacing(typename ImageType1::Pointer A, + typename ImageType2::Pointer B) { if (A->GetImageDimension() != B->GetImageDimension()) return false; for(unsigned int i=0; iGetImageDimension(); i++) { if (A->GetSpacing()[i] != B->GetSpacing()[i]) return false; + } + return true; +} +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +bool HaveSameSize(typename ImageType1::ConstPointer A, + typename ImageType2::ConstPointer B) +{ + if (A->GetImageDimension() != B->GetImageDimension()) return false; + for(unsigned int i=0; iGetImageDimension(); i++) { if (A->GetLargestPossibleRegion().GetSize()[i] != B->GetLargestPossibleRegion().GetSize()[i]) return false; } return true; } //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +template +bool HaveSameSize(typename ImageType1::Pointer A, + typename ImageType2::Pointer B) +{ + if (A->GetImageDimension() != B->GetImageDimension()) return false; + for(unsigned int i=0; iGetImageDimension(); i++) { + if (A->GetLargestPossibleRegion().GetSize()[i] != B->GetLargestPossibleRegion().GetSize()[i]) return false; + } + return true; +} +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +bool HaveSameSizeAndSpacing(typename ImageType1::ConstPointer A, + typename ImageType2::ConstPointer B) +{ + return ( HaveSameSize(A, B) && + HaveSameSpacing(A, B) ); +} +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +bool HaveSameSizeAndSpacing(typename ImageType1::Pointer A, + typename ImageType2::Pointer B) +{ + return ( HaveSameSize(A, B) && + HaveSameSpacing(A, B) ); +} +//-------------------------------------------------------------------- + #endif /* end #define CLITKIMAGECOMMON_TXX */