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;
117 typedef itksys::hash_map<LabelType, LabelSetMeasures>
MapType;
122 itkStaticConstMacro( ImageDimension,
unsigned int,
123 TLabelImage::ImageDimension );
127 { this->SetNthInput( 0, const_cast<LabelImageType *>( image ) ); }
131 { this->SetNthInput( 1, const_cast<LabelImageType *>( image ) ); }
135 {
return this->GetInput( 0 ); }
139 {
return this->GetInput( 1 ); }
143 {
return this->m_LabelSetMeasures; }
150 RealType GetTotalOverlap();
151 RealType GetUnionOverlap();
152 RealType GetMeanOverlap();
153 RealType GetVolumeSimilarity();
154 RealType GetFalseNegativeError();
155 RealType GetFalsePositiveError();
158 RealType GetTargetOverlap( LabelType );
159 RealType GetUnionOverlap( LabelType );
160 RealType GetMeanOverlap( LabelType );
161 RealType GetVolumeSimilarity( LabelType );
162 RealType GetFalseNegativeError( LabelType );
163 RealType GetFalsePositiveError( LabelType );
167 {
return this->GetUnionOverlap(); }
169 {
return this->GetUnionOverlap( label ); }
171 {
return this->GetMeanOverlap(); }
173 {
return this->GetMeanOverlap( label ); }
177 #ifdef ITK_USE_CONCEPT_CHECKING
188 void PrintSelf( std::ostream& os,
Indent indent )
const;
195 void AllocateOutputs();
197 void BeforeThreadedGenerateData();
199 void AfterThreadedGenerateData();
202 void ThreadedGenerateData(
const RegionType&,
ThreadIdType );
205 void GenerateInputRequestedRegion();
208 void EnlargeOutputRequestedRegion(
DataObject *data );
212 void operator=(
const Self& );
220 #ifndef ITK_MANUAL_INSTANTIATION
221 #include "itkLabelOverlapMeasuresImageFilter.hxx"