18 #ifndef __itkAnnulusOperator_h
19 #define __itkAnnulusOperator_h
68 template<
class TPixel,
unsigned int TDimension=2,
69 class TAllocator = NeighborhoodAllocator<TPixel> >
88 m_Normalize(false), m_BrightCenter(false),
89 m_InteriorValue(NumericTraits<
PixelType>::Zero),
90 m_AnnulusValue(NumericTraits<
PixelType>::One),
91 m_ExteriorValue(NumericTraits<
PixelType>::Zero)
92 { m_Spacing.
Fill(1.0); }
109 void CreateOperator();
113 void SetInnerRadius(
double r)
114 { m_InnerRadius = r; }
115 double GetInnerRadius()
const
116 {
return m_InnerRadius; }
121 void SetThickness(
double t)
123 double GetThickness()
const
124 {
return m_Thickness; }
131 {
return m_Spacing; }
135 void SetNormalize(
bool b)
137 bool GetNormalize()
const
138 {
return m_Normalize; }
140 { this->SetNormalize(
true); }
142 { this->SetNormalize(
false); }
146 void SetBrightCenter(
bool b)
147 { m_BrightCenter = b; }
148 bool GetBrightCenter()
const
149 {
return m_BrightCenter; }
150 void BrightCenterOn()
151 { this->SetBrightCenter(
true); }
152 void BrightCenterOff()
153 { this->SetBrightCenter(
false); }
159 void SetInteriorValue(TPixel v)
160 { m_InteriorValue = v; }
161 TPixel GetInteriorValue()
const
162 {
return m_InteriorValue; }
163 void SetAnnulusValue(TPixel v)
164 { m_AnnulusValue = v; }
165 TPixel GetAnnulusValue()
const
166 {
return m_AnnulusValue; }
167 void SetExteriorValue(TPixel v)
168 { m_ExteriorValue = v; }
169 TPixel GetExteriorValue()
const
170 {
return m_ExteriorValue; }
175 Superclass::operator=(other);
188 virtual void PrintSelf(std::ostream &os,
Indent i)
const
190 os << i <<
"AnnulusOperator { this=" <<
this
191 <<
", m_InnerRadius = " << m_InnerRadius
192 <<
", m_Thickness = " << m_Thickness
193 <<
", m_Spacing = " << m_Spacing
194 <<
", m_Normalize = " << m_Normalize
195 <<
", m_BrightCenter = " << m_BrightCenter
196 <<
", m_InteriorValue = " << m_InteriorValue
197 <<
", m_ExteriorValue = " << m_ExteriorValue
231 #define ITK_TEMPLATE_AnnulusOperator(_, EXPORT, x, y) namespace itk { \
232 _(2(class EXPORT AnnulusOperator< ITK_TEMPLATE_2 x >)) \
233 namespace Templates { typedef AnnulusOperator< ITK_TEMPLATE_2 x > \
234 AnnulusOperator##y; } \
237 #if ITK_TEMPLATE_EXPLICIT
238 # include "Templates/itkAnnulusOperator+-.h"