X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkMotionMaskGenericFilter.txx;h=91e1bbdc038ac40d470442df64874ad487b82a5c;hb=25a1e4fa1187d00dda0c8bcce573ea02e811dbc9;hp=d2de0d4dd8543d13312da958d6912443d1f4162c;hpb=a55c4b8805a34466d29bdcdb24b4f107b2515e23;p=clitk.git diff --git a/segmentation/clitkMotionMaskGenericFilter.txx b/segmentation/clitkMotionMaskGenericFilter.txx old mode 100755 new mode 100644 index d2de0d4..91e1bbd --- a/segmentation/clitkMotionMaskGenericFilter.txx +++ b/segmentation/clitkMotionMaskGenericFilter.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,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef clitkMotionMaskGenericFilter_txx #define clitkMotionMaskGenericFilter_txx @@ -107,10 +107,13 @@ MotionMaskGenericFilter::GetAirImage(typename itk::Image:: typename InternalImageType::IndexType index; while(!it.IsAtEnd()) { index=it.GetIndex(); + + //Pad borders of all dimensions but 2 (cranio-caudal) for (unsigned int i=0; iGetLargestPossibleRegion().GetIndex()[i] - || index[i]==(unsigned int)air->GetLargestPossibleRegion().GetIndex()[i]+ (unsigned int) air->GetLargestPossibleRegion().GetSize()[i]-1)) + if(i==2) + continue; + if(index[i]==air->GetLargestPossibleRegion().GetIndex()[i] + || index[i]==(unsigned int)air->GetLargestPossibleRegion().GetIndex()[i]+ (unsigned int) air->GetLargestPossibleRegion().GetSize()[i]-1) it.Set(1); } ++it; @@ -139,10 +142,13 @@ MotionMaskGenericFilter::GetAirImage(typename itk::Image:: typename InternalImageType::IndexType index; while(!it.IsAtEnd()) { index=it.GetIndex(); + + //Pad borders of all dimensions but 2 (cranio-caudal) for (unsigned int i=0; iGetLargestPossibleRegion().GetIndex()[i] - || index[i]==(unsigned int)air->GetLargestPossibleRegion().GetIndex()[i]+ (unsigned int) air->GetLargestPossibleRegion().GetSize()[i]-1)) + if(i==2) + continue; + if(index[i]==air->GetLargestPossibleRegion().GetIndex()[i] + || index[i]==(unsigned int)air->GetLargestPossibleRegion().GetIndex()[i]+ (unsigned int) air->GetLargestPossibleRegion().GetSize()[i]-1) it.Set(binarizeFilter->GetInsideValue()); } ++it; @@ -371,6 +377,8 @@ MotionMaskGenericFilter::GetLungsImage(typename itk::Image connectFilter->SetBackgroundValue(0); connectFilter->SetFullyConnected(true); if (m_Verbose) std::cout<<"Labeling the connected components..."<Update(); + if (m_Verbose) std::cout<<"found "<< connectFilter->GetObjectCount() << std::endl; //--------------------------------- // Sort the labels according to size