18 #ifndef itkFlatStructuringElement_h
19 #define itkFlatStructuringElement_h
88 template<
unsigned int VDimension >
89 class ITK_TEMPLATE_EXPORT FlatStructuringElement:
public Neighborhood< bool, VDimension >
116 itkStaticConstMacro(NeighborhoodDimension,
unsigned int, VDimension);
130 m_Decomposable =
false;
131 m_RadiusIsParametric =
false;
140 static Self Box(RadiusType radius);
143 static Self Ball(RadiusType radius,
bool radiusIsParametric =
false);
146 static Self
Cross(RadiusType radius);
149 static Self Annulus(RadiusType radius,
150 unsigned int thickness = 1,
151 bool includeCenter =
false,
152 bool radiusIsParametric =
false);
159 static Self Polygon(RadiusType radius,
unsigned lines);
168 return m_Decomposable;
183 m_Lines.push_back(l);
187 bool CheckParallel(LType NewVec)
const;
193 void ComputeBufferFromLines();
202 return m_RadiusIsParametric;
206 m_RadiusIsParametric = flag;
208 itkBooleanMacro(RadiusIsParametric);
213 static Self FromImage(
const ImageType * image);
217 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
224 template<
unsigned int VDimension3 >
230 template<
typename TStructuringElement,
typename TRadius>
231 static void GeneratePolygon(TStructuringElement & res, TRadius radius,
unsigned lines);
248 #ifndef ITK_MANUAL_INSTANTIATION
249 #include "itkFlatStructuringElement.hxx"
itk::Image< PixelType, VDimension > ImageType
FlatStructuringElement< VDimension > Self
Compute the cross product of two vectors of dimension 3, independently of the type of the values of v...
Vector< float, 3 > LType3
Neighborhood< bool, VDimension > Superclass
StructuringElementFacet< VDimension > FacetType
virtual ~FlatStructuringElement() override
Superclass::SliceIteratorType SliceIteratorType
Superclass::PixelType PixelType
Superclass::RadiusType RadiusType
Superclass::OffsetType OffsetType
A templated class holding a n-Dimensional vector.
bool m_RadiusIsParametric
bool GetRadiusIsParametric() const
void SetDecomposable(bool v)
Vector< float, 2 > LType2
Superclass::Iterator Iterator
A flexible iterator for itk containers(i.e. itk::Neighborhood) that support pixel access through oper...
bool GetDecomposable() const
A class to support a variety of flat structuring elements, including versions created by decompositio...
Vector< float, VDimension > LType
AllocatorType::iterator Iterator
Control indentation during Print() invocation.
AllocatorType::const_iterator ConstIterator
StructuringElementFacet< 3 > FacetType3
ImageBaseType::SizeType SizeType
Vector< float, VDimension3 > P3
void SetRadiusIsParametric(bool flag)
std::vector< LType > DecompType
const DecompType & GetLines() const
Templated n-dimensional image class.
Superclass::SizeType SizeType
Superclass::ConstIterator ConstIterator