X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkAutoCropFilter.txx;h=6ffb6e537786056ef875be14a9f354d430e4445e;hb=e217697bd9c921fe6dc060dcd9f1af0a2519422e;hp=145cc36f8ae24434cd47d72d1414e398a1c3fd64;hpb=523a9f961d83eaed5ec3365a07b9f6be35b538f0;p=clitk.git diff --git a/itk/clitkAutoCropFilter.txx b/itk/clitkAutoCropFilter.txx index 145cc36..6ffb6e5 100644 --- a/itk/clitkAutoCropFilter.txx +++ b/itk/clitkAutoCropFilter.txx @@ -21,7 +21,6 @@ // clitk #include "clitkCommon.h" -#include "clitkSegmentationUtils.h" // itk #include "itkAutoCropLabelMapFilter.h" @@ -39,6 +38,7 @@ namespace clitk { AutoCropFilter():itk::ImageToImageFilter() { this->SetNumberOfRequiredInputs(1); m_BackgroundValue = 0; + UseBorderOn(); } //-------------------------------------------------------------------- @@ -95,8 +95,14 @@ namespace clitk { typedef itk::AutoCropLabelMapFilter AutoCropFilterType; typename AutoCropFilterType::Pointer autoCropFilter = AutoCropFilterType::New(); autoCropFilter->SetInput(imageToLabelFilter->GetOutput()); - autoCropFilter->ReleaseDataFlagOff(); - + // autoCropFilter->ReleaseDataFlagOff(); + if (GetUseBorder()) { + typename ImageType::SizeType s; + for(uint i=0; iSetCropBorder(s); + } + autoCropFilter->ReleaseDataFlagOn(); + // Convert to LabelImage typedef itk::LabelMapToLabelImageFilter MapToImageFilterType; typename MapToImageFilterType::Pointer labelToImageFilter = MapToImageFilterType::New(); @@ -114,8 +120,9 @@ namespace clitk { typename ImageType::IndexType index; index.Fill(0); m_Region.SetIndex(index); - DD(m_Region); } + + // Set the region to output output->SetLargestPossibleRegion(m_Region); output->SetRequestedRegion(m_Region); output->SetBufferedRegion(m_Region); @@ -133,17 +140,16 @@ namespace clitk { // Extract the region with RegionOfInterestImageFilter or ExtractImageFilter ? // The second is when reducing the nb of dimension (index always zero) - // The first keep index + // The first keep index. + // OLD : typedef itk::ExtractImageFilter CropFilterType; + // OLD : cropFilter->SetExtractionRegion(m_Region); typedef itk::RegionOfInterestImageFilter CropFilterType; - //typedef itk::ExtractImageFilter CropFilterType; m_labeImage->SetRequestedRegion(m_labeImage->GetLargestPossibleRegion()); typename CropFilterType::Pointer cropFilter = CropFilterType::New(); cropFilter->SetInput(m_labeImage); cropFilter->SetReleaseDataFlag(this->GetReleaseDataFlag()); - cropFilter->SetRegionOfInterest(m_Region); - //cropFilter->SetExtractionRegion(m_Region); // Go ! cropFilter->Update();