|
ITK
5.1.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkLabelOverlapMeasuresImageFilter_h
19 #define itkLabelOverlapMeasuresImageFilter_h
24 #include <unordered_map>
45 template <
typename TLabelImage>
91 m_SourceComplement = 0;
92 m_TargetComplement = 0;
120 using MapType = std::unordered_map<LabelType, LabelSetMeasures>;
125 static constexpr
unsigned int ImageDimension = TLabelImage::ImageDimension;
131 this->SetNthInput(0, const_cast<LabelImageType *>(image));
138 this->SetNthInput(1, const_cast<LabelImageType *>(image));
142 const LabelImageType *
145 return this->GetInput(0);
149 const LabelImageType *
152 return this->GetInput(1);
159 return this->m_LabelSetMeasures;
166 GetTotalOverlap()
const;
169 RealType GetTargetOverlap(LabelType)
const;
173 GetUnionOverlap()
const;
177 return this->GetUnionOverlap();
183 RealType GetUnionOverlap(LabelType)
const;
187 return this->GetUnionOverlap(label);
193 GetMeanOverlap()
const;
197 return this->GetMeanOverlap();
203 RealType GetMeanOverlap(LabelType)
const;
207 return this->GetMeanOverlap(label);
213 GetVolumeSimilarity()
const;
216 RealType GetVolumeSimilarity(LabelType)
const;
222 GetFalseNegativeError()
const;
225 RealType GetFalseNegativeError(LabelType)
const;
229 GetFalsePositiveError()
const;
232 RealType GetFalsePositiveError(LabelType)
const;
234 #ifdef ITK_USE_CONCEPT_CHECKING
244 PrintSelf(std::ostream & os,
Indent indent)
const override;
252 AllocateOutputs()
override;
255 BeforeThreadedGenerateData()
override;
258 AfterThreadedGenerateData()
override;
267 itkExceptionMacro(
"This class requires threadId so it must use classic multi-threading model");
272 EnlargeOutputRequestedRegion(
DataObject * data)
override;
281 #ifndef ITK_MANUAL_INSTANTIATION
282 # 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....