|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkLabelOverlapMeasuresImageFilter_h
19 #define itkLabelOverlapMeasuresImageFilter_h
24 #include <unordered_map>
44 template <
typename TLabelImage>
90 m_SourceComplement = 0;
91 m_TargetComplement = 0;
119 using MapType = std::unordered_map<LabelType, LabelSetMeasures>;
124 static constexpr
unsigned int ImageDimension = TLabelImage::ImageDimension;
130 this->SetNthInput(0, const_cast<LabelImageType *>(image));
137 this->SetNthInput(1, const_cast<LabelImageType *>(image));
141 const LabelImageType *
144 return this->GetInput(0);
148 const LabelImageType *
151 return this->GetInput(1);
158 return this->m_LabelSetMeasures;
165 GetTotalOverlap()
const;
168 RealType GetTargetOverlap(LabelType)
const;
172 GetUnionOverlap()
const;
176 return this->GetUnionOverlap();
182 RealType GetUnionOverlap(LabelType)
const;
186 return this->GetUnionOverlap(label);
192 GetMeanOverlap()
const;
196 return this->GetMeanOverlap();
202 RealType GetMeanOverlap(LabelType)
const;
206 return this->GetMeanOverlap(label);
212 GetVolumeSimilarity()
const;
215 RealType GetVolumeSimilarity(LabelType)
const;
221 GetFalseNegativeError()
const;
224 RealType GetFalseNegativeError(LabelType)
const;
228 GetFalsePositiveError()
const;
231 RealType GetFalsePositiveError(LabelType)
const;
233 #ifdef ITK_USE_CONCEPT_CHECKING
243 PrintSelf(std::ostream & os,
Indent indent)
const override;
251 AllocateOutputs()
override;
254 BeforeThreadedGenerateData()
override;
257 AfterThreadedGenerateData()
override;
266 itkExceptionMacro(
"This class requires threadId so it must use classic multi-threading model");
271 EnlargeOutputRequestedRegion(
DataObject * data)
override;
280 #ifndef ITK_MANUAL_INSTANTIATION
281 # include "itkLabelOverlapMeasuresImageFilter.hxx"
std::unordered_map< LabelType, LabelSetMeasures > MapType
void DynamicThreadedGenerateData(const RegionType &) override
std::vector< MapType > m_LabelSetMeasuresPerThread
RealType GetJaccardCoefficient() const
typename MapType::iterator MapIterator
ImageBaseType::SizeType SizeType
typename TLabelImage::PixelType LabelType
Control indentation during Print() invocation.
RealType GetDiceCoefficient() const
LabelSetMeasures & operator=(const LabelSetMeasures &l)
unsigned long m_SourceComplement
unsigned int ThreadIdType
ImageBaseType::IndexType IndexType
Base class for filters that take an image as input and produce an image as output.
typename TLabelImage::ConstPointer LabelImageConstPointer
Light weight base class for most itk classes.
void SetSourceImage(const LabelImageType *image)
RealType GetJaccardCoefficient(LabelType label) const
MapType m_LabelSetMeasures
ImageBaseType::RegionType RegionType
const LabelImageType * GetTargetImage()
unsigned long m_Intersection
typename TLabelImage::Pointer LabelImagePointer
MapType GetLabelSetMeasures()
typename TLabelImage::RegionType RegionType
const LabelImageType * GetSourceImage()
Metrics stored per label.
RealType GetDiceCoefficient(LabelType label) const
typename NumericTraits< LabelType >::RealType RealType
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long m_TargetComplement
typename TLabelImage::IndexType IndexType
typename TLabelImage::SizeType SizeType
void SetTargetImage(const LabelImageType *image)
TLabelImage LabelImageType
typename MapType::const_iterator MapConstIterator
Base class for all data objects in ITK.
Computes overlap measures between the set same set of labels of pixels of two images....