17 #ifndef __itkShapeOpeningLabelMapFilter_txx
18 #define __itkShapeOpeningLabelMapFilter_txx
25 template <
class TImage>
29 m_Lambda = NumericTraits< double >::Zero;
30 m_ReverseOrdering =
false;
31 m_Attribute = LabelObjectType::SIZE;
34 this->SetNumberOfRequiredOutputs(2);
35 this->SetNthOutput( 1, static_cast<TImage*>( this->MakeOutput(1).GetPointer() ) );
39 template <
class TImage>
46 case LabelObjectType::LABEL:
49 AccessorType accessor;
50 this->TemplatedGenerateData( accessor );
53 case LabelObjectType::SIZE:
56 AccessorType accessor;
57 this->TemplatedGenerateData( accessor );
60 case LabelObjectType::PHYSICAL_SIZE:
63 AccessorType accessor;
64 this->TemplatedGenerateData( accessor );
67 case LabelObjectType::SIZE_REGION_RATIO:
70 AccessorType accessor;
71 this->TemplatedGenerateData( accessor );
74 case LabelObjectType::REGION_ELONGATION:
77 AccessorType accessor;
78 this->TemplatedGenerateData( accessor );
81 case LabelObjectType::SIZE_ON_BORDER:
84 AccessorType accessor;
85 this->TemplatedGenerateData( accessor );
88 case LabelObjectType::PHYSICAL_SIZE_ON_BORDER:
91 AccessorType accessor;
92 this->TemplatedGenerateData( accessor );
95 case LabelObjectType::FERET_DIAMETER:
98 AccessorType accessor;
99 this->TemplatedGenerateData( accessor );
102 case LabelObjectType::BINARY_ELONGATION:
105 AccessorType accessor;
106 this->TemplatedGenerateData( accessor );
109 case LabelObjectType::PERIMETER:
112 AccessorType accessor;
113 this->TemplatedGenerateData( accessor );
116 case LabelObjectType::ROUNDNESS:
119 AccessorType accessor;
120 this->TemplatedGenerateData( accessor );
123 case LabelObjectType::EQUIVALENT_RADIUS:
126 AccessorType accessor;
127 this->TemplatedGenerateData( accessor );
130 case LabelObjectType::EQUIVALENT_PERIMETER:
133 AccessorType accessor;
134 this->TemplatedGenerateData( accessor );
137 case LabelObjectType::BINARY_FLATNESS:
140 AccessorType accessor;
141 this->TemplatedGenerateData( accessor );
145 itkExceptionMacro(<<
"Unknown attribute type");
150 template <
class TImage>
155 Superclass::PrintSelf(os, indent);
157 os << indent <<
"ReverseOrdering: " << m_ReverseOrdering << std::endl;
158 os << indent <<
"Lambda: " << m_Lambda << std::endl;
159 os << indent <<
"Attribute: " << LabelObjectType::GetNameFromAttribute( m_Attribute ) <<
" (" << m_Attribute <<
")" << std::endl;