X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageCommon.txx;h=ca8206e4085ec4ac8e841057f137ca5b62541656;hb=75e2e05324d6eef978c5324160dd46eaaac66ea6;hp=5fb4b86518cbc00d8877ce96324cf150f5504baa;hpb=1e034c70105f0926939acaaa27ddb46e904ae8bf;p=clitk.git diff --git a/common/clitkImageCommon.txx b/common/clitkImageCommon.txx index 5fb4b86..ca8206e 100644 --- a/common/clitkImageCommon.txx +++ b/common/clitkImageCommon.txx @@ -181,6 +181,7 @@ typename ImageType::Pointer readImage(const std::vector & filenames } //-------------------------------------------------------------------- + //-------------------------------------------------------------------- template void writeImage(const typename ImageType::Pointer image, const std::string & filename, const bool verbose) @@ -202,6 +203,7 @@ void writeImage(const typename ImageType::Pointer image, const std::string & fil } //-------------------------------------------------------------------- + //-------------------------------------------------------------------- template void writeImage(const ImageType* image, const std::string & filename, const bool verbose) @@ -278,6 +280,7 @@ int ComputeHowManyDifferentIntensity(const typename ImageType::Pointer & image, } //-------------------------------------------------------------------- + //-------------------------------------------------------------------- template void ComputeWeightsOfEachClasses(const typename InputImageType::Pointer & input, @@ -313,5 +316,60 @@ void ComputeWeightsOfEachClasses(const typename InputImageType::Pointer & input, } //-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +bool HaveSameSizeAndSpacing(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; +} +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +bool HaveSameSizeAndSpacing(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; + if (A->GetLargestPossibleRegion().GetSize()[i] != B->GetLargestPossibleRegion().GetSize()[i]) return false; + } + return true; +} +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +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; + } + return true; +} +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- +template +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; +} +//-------------------------------------------------------------------- + #endif /* end #define CLITKIMAGECOMMON_TXX */