18#ifndef itkBayesianClassifierImageFilter_h
19#define itkBayesianClassifierImageFilter_h
80template <
typename TInputVectorImage,
81 typename TLabelsType =
unsigned char,
82 typename TPosteriorsPrecisionType = double,
83 typename TPriorsPrecisionType =
double>
85 :
public ImageToImageFilter<TInputVectorImage, Image<TLabelsType, TInputVectorImage::ImageDimension>>
107 static constexpr unsigned int Dimension = InputImageType::ImageDimension;
174 itkSetMacro(NumberOfSmoothingIterations,
unsigned int);
175 itkGetConstMacro(NumberOfSmoothingIterations,
unsigned int);
191 InputPriorsPosteriorsMultiplyOperatorCheck,
235#ifndef ITK_MANUAL_INSTANTIATION
236# include "itkBayesianClassifierImageFilter.hxx"
~BayesianClassifierImageFilter() override=default
virtual void ClassifyBasedOnPosteriors()
VectorImage< TPriorsPrecisionType, Self::Dimension > PriorsImageType
typename PosteriorsImageType::Pointer PosteriorsImagePointer
BayesianClassifierImageFilter Self
Statistics::MaximumDecisionRule DecisionRuleType
unsigned int m_NumberOfSmoothingIterations
virtual void NormalizeAndSmoothPosteriors()
typename SmoothingFilterType::Pointer SmoothingFilterPointer
typename OutputImageType::Pointer OutputImagePointer
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override
Make a DataObject of the correct type to used as the specified output.
DecisionRuleType::Pointer DecisionRulePointer
ImageRegionConstIterator< PriorsImageType > PriorsImageIteratorType
itk::Image< TPosteriorsPrecisionType, Self::Dimension > ExtractedComponentImageType
ImageToImageFilter< TInputVectorImage, Image< TLabelsType, TInputVectorImage::ImageDimension > > Superclass
ImageRegionConstIterator< MembershipImageType > MembershipImageIteratorType
void GenerateData() override
typename PriorsImageType::PixelType PriorsPixelType
typename PriorsImageType::Pointer PriorsImagePointer
ImageRegionIterator< OutputImageType > OutputImageIteratorType
typename PosteriorsImageType::PixelType PosteriorsPixelType
virtual void ComputeBayesRule()
typename MembershipImageType::Pointer MembershipImagePointer
PosteriorsImageType * GetPosteriorImage()
typename InputImageType::RegionType ImageRegionType
virtual void SetPriors(const PriorsImageType *)
typename InputImageType::PixelType InputPixelType
bool m_UserProvidedPriors
ImageRegionConstIterator< InputImageType > InputImageIteratorType
ImageRegionIterator< PosteriorsImageType > PosteriorsImageIteratorType
void PrintSelf(std::ostream &os, Indent indent) const override
Image< TLabelsType, Self::Dimension > OutputImageType
void SetSmoothingFilter(SmoothingFilterType *)
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
ImageToImageFilter< ExtractedComponentImageType, ExtractedComponentImageType > SmoothingFilterType
bool m_UserProvidedSmoothingFilter
typename MembershipImageType::PixelType MembershipPixelType
static constexpr unsigned int Dimension
void GenerateOutputInformation() override
typename InputImageType::ConstPointer InputImagePointer
VectorImage< TPosteriorsPrecisionType, Self::Dimension > PosteriorsImageType
TInputVectorImage MembershipImageType
typename OutputImageType::PixelType OutputPixelType
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
SmoothingFilterPointer m_SmoothingFilter
BayesianClassifierImageFilter()
A multi-dimensional iterator templated over image type that walks a region of pixels.
A multi-dimensional iterator templated over image type that walks a region of pixels.
ProcessObject::DataObjectPointer MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx) override
DataObject::Pointer DataObjectPointer
SmartPointer< Self > Pointer
TInputVectorImage InputImageType
Templated n-dimensional image class.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
Implements transparent reference counting.
A decision rule that returns the class label with the largest discriminant score.
SmartPointer< Self > Pointer
Templated n-dimensional vector image class.
SmartPointer< Self > Pointer
VariableLengthVector< TPriorsPrecisionType > PixelType
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....