18 #ifndef itkLabelOverlapMeasuresImageFilter_h
19 #define itkLabelOverlapMeasuresImageFilter_h
24 #include "itksys/hash_map.hxx"
44 template<
typename TLabelImage>
67 typedef typename TLabelImage::SizeType
SizeType;
117 typedef itksys::hash_map<LabelType, LabelSetMeasures>
MapType;
123 TLabelImage::ImageDimension );
127 { this->
SetNthInput( 0, const_cast<LabelImageType *>( image ) ); }
131 { this->
SetNthInput( 1, const_cast<LabelImageType *>( image ) ); }
177 #ifdef ITK_USE_CONCEPT_CHECKING
208 void operator=( const Self& );
216 #ifndef ITK_MANUAL_INSTANTIATION
217 #include "itkLabelOverlapMeasuresImageFilter.hxx"
const LabelImageType * GetTargetImage(void)
TLabelImage LabelImageType
Light weight base class for most itk classes.
const LabelImageType * GetSourceImage(void)
RealType GetTargetOverlap(LabelType)
MapType::const_iterator MapConstIterator
RealType GetFalseNegativeError()
unsigned long m_Intersection
LabelOverlapMeasuresImageFilter Self
TLabelImage::IndexType IndexType
unsigned long m_TargetComplement
NumericTraits< LabelType >::RealType RealType
TLabelImage::RegionType RegionType
LabelOverlapMeasuresImageFilter()
MapType GetLabelSetMeasures()
TLabelImage::Pointer LabelImagePointer
RealType GetMeanOverlap()
RealType GetJaccardCoefficient(LabelType label)
TLabelImage::SizeType SizeType
void AllocateOutputs() override
MapType m_LabelSetMeasures
void EnlargeOutputRequestedRegion(DataObject *data) override
itksys::hash_map< LabelType, LabelSetMeasures > MapType
RealType GetFalsePositiveError()
std::vector< MapType > m_LabelSetMeasuresPerThread
const InputImageType * GetInput() const
TLabelImage::ConstPointer LabelImageConstPointer
void BeforeThreadedGenerateData() override
Computes overlap measures between the set same set of labels of pixels of two images. Background is assumed to be 0.
unsigned int ThreadIdType
RealType GetDiceCoefficient(LabelType label)
void PrintSelf(std::ostream &os, Indent indent) const override
void SetTargetImage(const LabelImageType *image)
Base class for filters that take an image as input and produce an image as output.
void SetSourceImage(const LabelImageType *image)
Control indentation during Print() invocation.
SmartPointer< const Self > ConstPointer
RealType GetDiceCoefficient()
unsigned long m_SourceComplement
RealType GetJaccardCoefficient()
RealType GetTotalOverlap()
void AfterThreadedGenerateData() override
virtual void SetNthInput(DataObjectPointerArraySizeType num, DataObject *input)
TLabelImage::PixelType LabelType
~LabelOverlapMeasuresImageFilter()
RealType GetVolumeSimilarity()
#define itkConceptMacro(name, concept)
static const unsigned int ImageDimension
void ThreadedGenerateData(const RegionType &, ThreadIdType) override
RealType GetUnionOverlap()
Base class for all data objects in ITK.
Metrics stored per label.
SmartPointer< Self > Pointer
ImageToImageFilter< TLabelImage, TLabelImage > Superclass
MapType::iterator MapIterator
LabelSetMeasures & operator=(const LabelSetMeasures &l)