#include "itkLabelImageToLabelMapFilter.h"
#include "itkLabelMapToLabelImageFilter.h"
#include "itkRegionOfInterestImageFilter.h"
+#include "itkExtractImageFilter.h"
namespace clitk {
typedef itk::AutoCropLabelMapFilter<LabelMapType> AutoCropFilterType;
typename AutoCropFilterType::Pointer autoCropFilter = AutoCropFilterType::New();
autoCropFilter->SetInput(imageToLabelFilter->GetOutput());
-
+ autoCropFilter->ReleaseDataFlagOff();
+
// Convert to LabelImage
typedef itk::LabelMapToLabelImageFilter<LabelMapType, ImageType> MapToImageFilterType;
typename MapToImageFilterType::Pointer labelToImageFilter = MapToImageFilterType::New();
// Update the output size
m_Region = m_labeImage->GetLargestPossibleRegion();
+ // Sometimes the index is 9223372036854775807 ???
+ if (m_Region.GetIndex()[0] > 99999) {
+ typename ImageType::IndexType index;
+ index.Fill(0);
+ m_Region.SetIndex(index);
+ }
output->SetLargestPossibleRegion(m_Region);
output->SetRequestedRegion(m_Region);
output->SetBufferedRegion(m_Region);
void
AutoCropFilter<ImageType>::
GenerateData() {
- DD("AutoCropFilter::GenerateData");
// Get input pointers
ImageConstPointer input = dynamic_cast<const ImageType*>(itk::ProcessObject::GetInput(0));
// Extract the region
- typedef itk::RegionOfInterestImageFilter<ImageType, ImageType> CropFilterType;
+
+ //TO CHANGE WITH EXTRACTIMAGEFILTER !
+
+ // typedef itk::RegionOfInterestImageFilter<ImageType, ImageType> CropFilterType;
+ typedef itk::ExtractImageFilter<ImageType, ImageType> CropFilterType;
m_labeImage->SetRequestedRegion(m_labeImage->GetLargestPossibleRegion());
typename CropFilterType::Pointer cropFilter = CropFilterType::New();
cropFilter->SetInput(m_labeImage);
- cropFilter->SetRegionOfInterest(m_Region);
+
+ // cropFilter->SetRegionOfInterest(m_Region);
+ cropFilter->SetExtractionRegion(m_Region);
+
+ cropFilter->ReleaseDataFlagOff();
// Go !
cropFilter->Update();