18#ifndef itkChainCodePath_h
19#define itkChainCodePath_h
49template <
unsigned int VDimension>
50class ITK_TEMPLATE_EXPORT
ChainCodePath :
public Path<unsigned int, Offset<VDimension>, VDimension>
56 static constexpr unsigned int Dimension = VDimension;
69 using typename Superclass::OutputType;
70 using typename Superclass::InputType;
86 return m_Chain[input];
104 return static_cast<InputType>(NumberOfSteps());
119 m_Chain.insert(m_Chain.begin() + position, step);
128 m_Chain[position] = step;
143 virtual inline ChainCodeSizeType
146 return m_Chain.size();
153 m_Start = this->GetZeroIndex();
170#ifndef ITK_MANUAL_INSTANTIATION
171# include "itkChainCodePath.hxx"
Represent a path as a sequence of connected image index offsets.
IndexType EvaluateToIndex(const InputType &input) const override
OffsetType IncrementInput(InputType &input) const override
std::vector< OffsetType > ChainCodeType
void Initialize() override
virtual void ChangeStep(InputType position, OffsetType step)
OutputType Evaluate(const InputType &input) const override
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void InsertStep(InputType position, OffsetType step)
virtual ChainCodeSizeType NumberOfSteps() const
InputType EndOfInput() const override
~ChainCodePath() override=default
typename ChainCodeType::size_type ChainCodeSizeType
Base class for all data objects in ITK.
Control indentation during Print() invocation.
Base class for most ITK classes.
Represent a path through ND Space.
ImageBaseType::IndexType IndexType
constexpr unsigned int Dimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....