X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkBLUTDIRGenericFilter.cxx;h=60cd30db0bc21024e3c187d642062be4b4bb88fe;hb=78bd7fb31b49e7b7557c062a691f622f6dec58a0;hp=b49d9909639a88ae71874e1d12d3deabe8f99659;hpb=1eb88e752e0985548fc83742ed92ab395f9c77fc;p=clitk.git diff --git a/registration/clitkBLUTDIRGenericFilter.cxx b/registration/clitkBLUTDIRGenericFilter.cxx index b49d990..60cd30d 100644 --- a/registration/clitkBLUTDIRGenericFilter.cxx +++ b/registration/clitkBLUTDIRGenericFilter.cxx @@ -30,14 +30,11 @@ It is distributed under dual licence #include "clitkBLUTDIRGenericFilter.h" #include "clitkBLUTDIRCommandIterationUpdateDVF.h" #include "itkCenteredTransformInitializer.h" -#if ITK_VERSION_MAJOR >= 4 -# if ITK_VERSION_MINOR < 6 -# include "itkTransformToDisplacementFieldSource.h" -# else -# include "itkTransformToDisplacementFieldFilter.h" -# endif +#include "itkLabelStatisticsImageFilter.h" +#if (ITK_VERSION_MAJOR == 4) && (ITK_VERSION_MINOR < 6) +# include "itkTransformToDisplacementFieldSource.h" #else -# include "itkTransformToDeformationFieldSource.h" +# include "itkTransformToDisplacementFieldFilter.h" #endif namespace clitk @@ -377,11 +374,12 @@ namespace clitk fixedMask->SetImage(labels); // Find the bounding box of the "inside" label - typedef itk::LabelGeometryImageFilter GeometryImageFilterType; - typename GeometryImageFilterType::Pointer geometryImageFilter=GeometryImageFilterType::New(); - geometryImageFilter->SetInput(labels); - geometryImageFilter->Update(); - typename GeometryImageFilterType::BoundingBoxType boundingBox = geometryImageFilter->GetBoundingBox(1); + typedef itk::LabelStatisticsImageFilter StatisticsImageFilterType; + typename StatisticsImageFilterType::Pointer statisticsImageFilter=StatisticsImageFilterType::New(); + statisticsImageFilter->SetInput(labels); + statisticsImageFilter->SetLabelInput(labels); + statisticsImageFilter->Update(); + typename StatisticsImageFilterType::BoundingBoxType boundingBox = statisticsImageFilter->GetBoundingBox(1); // Limit the transform region to the mask for (unsigned int i=0; i ExtractImageFilterType; typename ExtractImageFilterType::Pointer extractImageFilter=ExtractImageFilterType::New(); -#if ITK_VERSION_MAJOR == 4 extractImageFilter->SetDirectionCollapseToSubmatrix(); -#endif extractImageFilter->SetInput(fixedImage); extractImageFilter->SetExtractionRegion(transformRegion); extractImageFilter->Update(); @@ -652,16 +648,10 @@ namespace clitk typedef itk::ImageToImageMetric< FixedImageType, MovingImageType > MetricType; typename MetricType::Pointer metric=genericMetric->GetMetricPointer(); if (movingMask) metric->SetMovingImageMask(movingMask); - -#if defined(ITK_USE_OPTIMIZED_REGISTRATION_METHODS) || ITK_VERSION_MAJOR >= 4 if (threadsGiven) { metric->SetNumberOfThreads( threads ); if (m_Verbose) std::cout<< "Using " << threads << " threads." << std::endl; } -#else - if (m_Verbose) std::cout<<"Not setting the number of threads (not compiled with USE_OPTIMIZED_REGISTRATION_METHODS)..."<StartRegistration(); -#else registration->Update(); -#endif } catch( itk::ExceptionObject & err ) { @@ -801,14 +787,10 @@ namespace clitk //======================================================= typedef itk::Vector< float, SpaceDimension > DisplacementType; typedef itk::Image< DisplacementType, InputImageType::ImageDimension > DisplacementFieldType; -#if ITK_VERSION_MAJOR >= 4 -# if ITK_VERSION_MINOR < 6 +#if (ITK_VERSION_MAJOR == 4) && (ITK_VERSION_MINOR < 6) typedef itk::TransformToDisplacementFieldSource ConvertorType; -# else - typedef itk::TransformToDisplacementFieldFilter ConvertorType; -# endif #else - typedef itk::TransformToDeformationFieldSource ConvertorType; + typedef itk::TransformToDisplacementFieldFilter ConvertorType; #endif typename ConvertorType::Pointer filter= ConvertorType::New(); filter->SetNumberOfThreads(1);