18 #ifndef itkBayesianClassifierImageFilter_h
19 #define itkBayesianClassifierImageFilter_h
80 template <
typename TInputVectorImage,
81 typename TLabelsType =
unsigned char,
82 typename TPosteriorsPrecisionType = double,
83 typename TPriorsPrecisionType =
double>
85 :
public ImageToImageFilter<TInputVectorImage, Image<TLabelsType, TInputVectorImage::ImageDimension>>
104 using typename Superclass::InputImageType;
107 static constexpr
unsigned int Dimension = InputImageType::ImageDimension;
152 using typename Superclass::DataObjectPointer;
174 itkSetMacro(NumberOfSmoothingIterations,
unsigned int);
175 itkGetConstMacro(NumberOfSmoothingIterations,
unsigned int);
180 using Superclass::MakeOutput;
184 #ifdef ITK_USE_CONCEPT_CHECKING
193 InputPriorsPosteriorsMultiplyOperatorCheck,
202 PrintSelf(std::ostream & os,
Indent indent)
const override;
205 GenerateData()
override;
208 GenerateOutputInformation()
override;
218 NormalizeAndSmoothPosteriors();
222 ClassifyBasedOnPosteriors();
229 bool m_UserProvidedPriors{
false };
231 bool m_UserProvidedSmoothingFilter{
false };
235 unsigned int m_NumberOfSmoothingIterations{ 0 };
239 #ifndef ITK_MANUAL_INSTANTIATION
240 # include "itkBayesianClassifierImageFilter.hxx"