18#ifndef itkFlatStructuringElement_h
19#define itkFlatStructuringElement_h
87template <
unsigned int VDimension>
88class ITK_TEMPLATE_EXPORT FlatStructuringElement :
public Neighborhood<bool, VDimension>
115 static constexpr unsigned int NeighborhoodDimension = VDimension;
129 m_Decomposable =
false;
130 m_RadiusIsParametric =
false;
140 Box(RadiusType radius);
144 Ball(RadiusType radius,
bool radiusIsParametric =
false);
148 Cross(RadiusType radius);
152 Annulus(RadiusType radius,
unsigned int thickness = 1,
bool includeCenter =
false,
bool radiusIsParametric =
false);
160 Polygon(RadiusType radius,
unsigned int lines);
168 GetDecomposable()
const
170 return m_Decomposable;
173 SetDecomposable(
bool v)
188 m_Lines.push_back(l);
193 CheckParallel(LType NewVec)
const;
200 ComputeBufferFromLines();
208 GetRadiusIsParametric()
const
210 return m_RadiusIsParametric;
213 SetRadiusIsParametric(
bool flag)
215 m_RadiusIsParametric = flag;
217 itkBooleanMacro(RadiusIsParametric);
223 FromImage(
const ImageType * image);
227 PrintSelf(std::ostream & os,
Indent indent)
const override;
230 bool m_Decomposable{};
232 DecompType m_Lines{};
234 template <
unsigned int VDimension3>
239 using FacetType = StructuringElementFacet<VDimension>;
241 template <
typename TStructuringElement,
typename TRadius>
252 bool m_RadiusIsParametric{};
257 CheckImageSize(
const ImageType * image);
261#ifndef ITK_MANUAL_INSTANTIATION
262# include "itkFlatStructuringElement.hxx"
Pixel-wise addition of two images.
Compute the cross product of two vectors of dimension 3, independently of the type of the values of v...
A class to support a variety of flat structuring elements, including versions created by decompositio...
static void GeneratePolygon(itk::FlatStructuringElement< 3 > &res, itk::Size< 3 > radius, unsigned int lines)
std::vector< LType > DecompType
typename itk::Image< PixelType, VDimension > ImageType
Templated n-dimensional image class.
Control indentation during Print() invocation.
typename AllocatorType::iterator Iterator
typename AllocatorType::const_iterator ConstIterator
A flexible iterator for itk containers(i.e. itk::Neighborhood) that support pixel access through oper...
A templated class holding a n-Dimensional vector.
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....