18 #ifndef __itkLabelOverlapMeasuresImageFilter_h
19 #define __itkLabelOverlapMeasuresImageFilter_h
24 #include "itksys/hash_map.hxx"
44 template<
class TLabelImage>
67 typedef typename TLabelImage::SizeType
SizeType;
89 m_SourceComplement = 0;
90 m_TargetComplement = 0;
113 typedef itksys::hash_map<LabelType, LabelSetMeasures>
MapType;
118 itkStaticConstMacro( ImageDimension,
unsigned int,
119 TLabelImage::ImageDimension );
123 { this->SetNthInput( 0, const_cast<LabelImageType *>( image ) ); }
127 { this->SetNthInput( 1, const_cast<LabelImageType *>( image ) ); }
131 {
return this->GetInput( 0 ); }
135 {
return this->GetInput( 1 ); }
139 {
return this->m_LabelSetMeasures; }
146 RealType GetTotalOverlap();
147 RealType GetUnionOverlap();
148 RealType GetMeanOverlap();
149 RealType GetVolumeSimilarity();
150 RealType GetFalseNegativeError();
151 RealType GetFalsePositiveError();
154 RealType GetTargetOverlap( LabelType );
155 RealType GetUnionOverlap( LabelType );
156 RealType GetMeanOverlap( LabelType );
157 RealType GetVolumeSimilarity( LabelType );
158 RealType GetFalseNegativeError( LabelType );
159 RealType GetFalsePositiveError( LabelType );
163 {
return this->GetUnionOverlap(); }
165 {
return this->GetUnionOverlap( label ); }
167 {
return this->GetMeanOverlap(); }
169 {
return this->GetMeanOverlap( label ); }
173 #ifdef ITK_USE_CONCEPT_CHECKING
184 void PrintSelf( std::ostream& os,
Indent indent )
const;
191 void AllocateOutputs();
193 void BeforeThreadedGenerateData();
195 void AfterThreadedGenerateData();
198 void ThreadedGenerateData(
const RegionType&,
ThreadIdType );
201 void GenerateInputRequestedRegion();
204 void EnlargeOutputRequestedRegion(
DataObject *data );
208 void operator=(
const Self& );
216 #ifndef ITK_MANUAL_INSTANTIATION
217 #include "itkLabelOverlapMeasuresImageFilter.hxx"