18 #ifndef __itkMultiLabelSTAPLEImageFilter_h
19 #define __itkMultiLabelSTAPLEImageFilter_h
116 template <
typename TInputImage,
typename TOutputImage = TInputImage,
typename TWeights =
float >
140 itkStaticConstMacro(ImageDimension,
unsigned int,
141 TOutputImage::ImageDimension);
163 void SetMaximumNumberOfIterations(
const unsigned int mit )
165 this->m_MaximumNumberOfIterations = mit;
166 this->m_HasMaximumNumberOfIterations =
true;
173 void UnsetMaximumNumberOfIterations()
175 if ( this->m_HasMaximumNumberOfIterations )
177 this->m_HasMaximumNumberOfIterations =
false;
185 void SetTerminationUpdateThreshold(
const TWeights thresh )
187 this->m_TerminationUpdateThreshold = thresh;
196 this->m_LabelForUndecidedPixels = l;
197 this->m_HasLabelForUndecidedPixels =
true;
210 return this->m_LabelForUndecidedPixels;
215 void UnsetLabelForUndecidedPixels()
217 if ( this->m_HasLabelForUndecidedPixels )
219 this->m_HasLabelForUndecidedPixels =
false;
229 this->m_PriorProbabilities = ppa;
230 this->m_HasPriorProbabilities =
true;
243 return this->m_PriorProbabilities;
248 void UnsetPriorProbabilities()
250 if ( this->m_HasPriorProbabilities )
252 this->m_HasPriorProbabilities =
false;
262 return this->m_ConfusionMatrixArray[i];
268 this->m_HasLabelForUndecidedPixels =
false;
269 this->m_HasPriorProbabilities =
false;
270 this->m_HasMaximumNumberOfIterations =
false;
271 this->m_TerminationUpdateThreshold = 1
e-5;
277 void PrintSelf(std::ostream&,
Indent)
const;
280 typename TInputImage::PixelType ComputeMaximumInputValue();
283 void GenerateInputRequestedRegion();
286 void EnlargeOutputRequestedRegion(
DataObject * );
290 void operator=(
const Self&);
300 void InitializePriorProbabilities();
305 void AllocateConfusionMatrixArray();
306 void InitializeConfusionMatrixArrayFromVoting();
316 #ifndef ITK_MANUAL_INSTANTIATION
317 #include "itkMultiLabelSTAPLEImageFilter.hxx"