14 #include "itkOtsuMultipleThresholdsImageFilter.h" 21 : m_NumberOfThresholds(numThresholds), m_ValleyEmphasis(useValley), m_NumberOfBins(numBins), m_Image(image)
25 unsigned int m_NumberOfThresholds;
26 bool m_ValleyEmphasis;
27 unsigned int m_NumberOfBins;
31 template <
typename TPixel,
unsigned int VImageDimension>
34 typedef itk::Image<TPixel, VImageDimension> itkInputImageType;
35 typedef itk::Image<mitk::OtsuSegmentationFilter::OutputPixelType, VImageDimension> itkOutputImageType;
36 typedef itk::OtsuMultipleThresholdsImageFilter<itkInputImageType, itkOutputImageType> OtsuFilterType;
38 typename OtsuFilterType::Pointer filter = OtsuFilterType::New();
39 filter->SetNumberOfThresholds(params.m_NumberOfThresholds);
40 filter->SetInput(itkImage);
41 filter->SetValleyEmphasis(params.m_ValleyEmphasis);
42 filter->SetNumberOfHistogramBins(params.m_NumberOfBins);
53 mitk::CastToMitkImage<itkOutputImageType>(filter->GetOutput(), params.m_Image);
59 OtsuSegmentationFilter::OtsuSegmentationFilter()
60 : m_NumberOfThresholds(2), m_ValleyEmphasis(false), m_NumberOfBins(128)
70 (paramContainer(m_NumberOfThresholds, m_ValleyEmphasis, m_NumberOfBins, this->
GetOutput())));
~OtsuSegmentationFilter() override
DataCollection - Class to facilitate loading/accessing structured data.
#define AccessByItk_n(mitkImage, itkImageTypeFunction, va_tuple)
Access a MITK image by an ITK image with one or more parameters.
void AccessItkOtsuFilter(const itk::Image< TPixel, VImageDimension > *itkImage, paramContainer params)
mitk::Image::Pointer image
void GenerateData() override
InputImageType * GetInput(void)
OutputType * GetOutput()
Get the output data of this image source object.