18#ifndef itkLabelOverlapMeasuresImageFilter_h
19#define itkLabelOverlapMeasuresImageFilter_h
24#include <unordered_map>
44template <
typename TLabelImage>
94 using MapType = std::unordered_map<LabelType, LabelSetMeasures>;
99 static constexpr unsigned int ImageDimension = TLabelImage::ImageDimension;
113 return this->m_LabelSetMeasures;
131 return this->GetUnionOverlap();
141 return this->GetUnionOverlap(label);
151 return this->GetMeanOverlap();
161 return this->GetMeanOverlap(label);
195#ifdef ITK_USE_CONCEPT_CHECKING
223 std::mutex m_Mutex{};
228#ifndef ITK_MANUAL_INSTANTIATION
229# include "itkLabelOverlapMeasuresImageFilter.hxx"
Control indentation during Print() invocation.
Metrics stored per label.
Computes overlap measures between the same set of labels of pixels of two images. Background is assum...
typename TLabelImage::PixelType LabelType
RealType GetMeanOverlap() const
typename TLabelImage::ConstPointer LabelImageConstPointer
typename NumericTraits< LabelType >::RealType RealType
itkSetInputMacro(SourceImage, LabelImageType)
RealType GetJaccardCoefficient(LabelType label) const
RealType GetUnionOverlap() const
RealType GetUnionOverlap(LabelType) const
typename TLabelImage::RegionType RegionType
RealType GetJaccardCoefficient() const
itkSetInputMacro(TargetImage, LabelImageType)
RealType GetFalsePositiveError(LabelType) const
TLabelImage LabelImageType
RealType GetFalseDiscoveryRate(LabelType) const
RealType GetFalseNegativeError() const
RealType GetFalseDiscoveryRate() const
RealType GetDiceCoefficient() const
typename TLabelImage::IndexType IndexType
RealType GetFalsePositiveError() const
RealType GetVolumeSimilarity(LabelType) const
typename TLabelImage::SizeType SizeType
RealType GetMeanOverlap(LabelType) const
typename MapType::iterator MapIterator
typename TLabelImage::Pointer LabelImagePointer
void ThreadedStreamedGenerateData(const RegionType &) override
RealType GetTargetOverlap(LabelType) const
void BeforeStreamedGenerateData() override
~LabelOverlapMeasuresImageFilter() override=default
typename NumericTraits< LabelType >::PrintType PrintType
itkGetInputMacro(SourceImage, LabelImageType)
MapType GetLabelSetMeasures()
void PrintSelf(std::ostream &os, Indent indent) const override
RealType GetTotalOverlap() const
RealType GetFalseNegativeError(LabelType) const
typename MapType::const_iterator MapConstIterator
RealType GetVolumeSimilarity() const
RealType GetDiceCoefficient(LabelType label) const
itkGetInputMacro(TargetImage, LabelImageType)
std::unordered_map< LabelType, LabelSetMeasures > MapType
LabelOverlapMeasuresImageFilter()
void MergeMap(MapType &m1, MapType &m2) const
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType