18 #ifndef itkFlatStructuringElement_h
19 #define itkFlatStructuringElement_h
88 template<
unsigned int VDimension >
89 class ITK_TEMPLATE_EXPORT FlatStructuringElement:
public Neighborhood< bool, VDimension >
116 static constexpr
unsigned int NeighborhoodDimension = 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 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"
typename Superclass::ConstIterator ConstIterator
Compute the cross product of two vectors of dimension 3, independently of the type of the values of v...
typename Superclass::OffsetType OffsetType
typename Superclass::Iterator Iterator
std::vector< LType > DecompType
typename Superclass::SizeType SizeType
typename AllocatorType::iterator Iterator
typename AllocatorType::const_iterator ConstIterator
typename Superclass::SliceIteratorType SliceIteratorType
A templated class holding a n-Dimensional vector.
ImageBaseType::SizeType SizeType
bool m_RadiusIsParametric
bool GetRadiusIsParametric() const
Represent a n-dimensional size (bounds) of a n-dimensional image.
Represent a n-dimensional offset between two n-dimensional indexes of n-dimensional image...
void SetDecomposable(bool v)
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...
typename itk::Image< PixelType, VDimension > ImageType
Control indentation during Print() invocation.
typename Superclass::RadiusType RadiusType
typename Superclass::PixelType PixelType
Vector< float, VDimension3 > P3
void SetRadiusIsParametric(bool flag)
const DecompType & GetLines() const
Templated n-dimensional image class.