#include <itkBinaryErodeImageFilter.h>
#include <itkBinaryBallStructuringElement.h>
#include <itkAddImageFilter.h>
-#if ITK_VERSION_MAJOR >= 4
- #include <itkDivideImageFilter.h>
-#else
- #include <itkDivideByConstantImageFilter.h>
-#endif
+#include <itkDivideImageFilter.h>
// itk [Bloch et al]
#include "RelativePositionPropImageFilter.h"
FuzzyMapOnlyFlagOff();
FastFlagOff();
SetRadius(2.0);
+ SetK1(std::acos(-1.0)/2);
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
// Step 1 : resample
if (m_IntermediateSpacingFlag) {
- StartNewStep("Resample object to intermediate spacing");
+ StartNewStep("Resample object to intermediate spacing (" + toString(m_IntermediateSpacing) + ")");
typedef clitk::ResampleImageWithOptionsFilter<ImageType> ResampleFilterType;
typename ResampleFilterType::Pointer resampleFilter = ResampleFilterType::New();
resampleFilter->SetInput(working_image);
resampleFilter->SetDefaultPixelValue(0);
resampleFilter->SetOutputIsoSpacing(m_IntermediateSpacing);
resampleFilter->SetGaussianFilteringEnabled(false);
- // resampleFilter->SetVerboseOptions(true);
+ //resampleFilter->SetVerboseOptions(true);
resampleFilter->Update();
working_image = resampleFilter->GetOutput();
StopCurrentStep<ImageType>(working_image);
relPosFilter->SetInput(working_image);
relPosFilter->SetAlpha1(m_Angle1[i]); // xy plane
relPosFilter->SetAlpha2(m_Angle2[i]);
- relPosFilter->SetK1(M_PI/2.0); // Opening parameter, default = pi/2
-
- // relPosFilter->SetFast(true);
- // relPosFilter->SetRadius(1); // seems sufficient in this case
-
+ relPosFilter->SetK1(GetK1());// M_PI/2.0); // Opening parameter, default = pi/2
// relPosFilter->SetVerboseProgress(true);
+
relPosFilter->Update();
relPos = relPosFilter->GetOutput();
// Divide by the number of relpos
if (GetNumberOfAngles() != 1) {
-#if ITK_VERSION_MAJOR >= 4
typedef itk::DivideImageFilter<FloatImageType, FloatImageType, FloatImageType> DivideFilter;
typename DivideFilter::Pointer divideFilter = DivideFilter::New();
divideFilter->SetConstant2(GetNumberOfAngles());
-#else
- typedef itk::DivideByConstantImageFilter<FloatImageType, float, FloatImageType> DivideFilter;
- typename DivideFilter::Pointer divideFilter = DivideFilter::New();
- divideFilter->SetConstant(GetNumberOfAngles());
-#endif
divideFilter->SetInput(m_FuzzyMap);
divideFilter->Update();
m_FuzzyMap = divideFilter->GetOutput();
resampleFilter->SetGaussianFilteringEnabled(false);
resampleFilter->Update();
relPos = m_FuzzyMap = resampleFilter->GetOutput();
+ StopCurrentStep<FloatImageType>(relPos);
// Need to put exactly the same size
if (relPos->GetLargestPossibleRegion() != input->GetLargestPossibleRegion()) {