18#ifndef itkMahalanobisDistanceThresholdImageFunction_h
19#define itkMahalanobisDistanceThresholdImageFunction_h
49template <
typename TInputImage,
typename TCoordinate =
float>
69 using typename Superclass::InputImageType;
75 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
84 using typename Superclass::ContinuousIndexType;
140 itkGetConstReferenceMacro(Threshold,
double);
141 itkSetMacro(Threshold,
double);
169 double m_Threshold{};
185#ifndef ITK_MANUAL_INSTANTIATION
186# include "itkMahalanobisDistanceThresholdImageFunction.hxx"
Evaluates a function of an image at specified position.
typename InputImageType::IndexType IndexType
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Returns true if the pixel value of a vector image has a Mahalanobis distance below the value specifie...
~MahalanobisDistanceThresholdImageFunction() override=default
virtual double EvaluateDistance(const PointType &point) const
vnl_vector< double > MeanVectorType
typename TInputImage::PixelType PixelType
vnl_matrix< double > CovarianceMatrixType
bool EvaluateAtContinuousIndex(const ContinuousIndexType &index) const override
bool EvaluateAtIndex(const IndexType &index) const override
void SetCovariance(const CovarianceMatrixType &covariance)
void SetMean(const MeanVectorType &mean)
typename MahalanobisDistanceFunctionType::Pointer MahalanobisDistanceFunctionPointer
MahalanobisDistanceThresholdImageFunction()
virtual double EvaluateDistanceAtIndex(const IndexType &index) const
void PrintSelf(std::ostream &os, Indent indent) const override
bool Evaluate(const PointType &point) const override
A templated class holding a geometric point in n-Dimensional space.
MahalanobisDistanceMembershipFunction models class membership using Mahalanobis distance.
SmartPointer< Self > Pointer
ImageBaseType::IndexType IndexType
ImageBaseType::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents