19#ifndef itkFastMarchingImageFilterBase_h
20#define itkFastMarchingImageFilterBase_h
72template <
typename TInput,
typename TOutput>
124 class InternalNodeStructure;
143 virtual OutputSizeType
156 itkSetMacro(OverrideOutputInformation,
bool);
157 itkGetConstReferenceMacro(OverrideOutputInformation,
bool);
158 itkBooleanMacro(OverrideOutputInformation);
276#ifndef ITK_MANUAL_INSTANTIATION
277# include "itkFastMarchingImageFilterBase.hxx"
Array class with size defined at construction time.
Base class for all data objects in ITK.
FastMarchingTraits< TInput, TOutput > Traits
typename Traits::InputPixelType InputPixelType
typename Traits::OutputDomainPointer OutputDomainPointer
typename Traits::InputDomainType InputDomainType
typename Traits::OutputDomainType OutputDomainType
typename Traits::InputDomainPointer InputDomainPointer
FastMarchingBase()
Constructor.
typename Traits::OutputPixelType OutputPixelType
typename Traits::LabelType LabelType
void InitializeOutput(OutputImageType *oImage) override
OutputPointType m_OutputOrigin
typename OutputImageType::RegionType OutputRegionType
typename Superclass::OutputDomainPointer OutputImagePointer
bool IsCriticalC1Configuration2D(const std::bitset< 9 > &) const
typename Traits::NodePairContainerType NodePairContainerType
void InitializeIndices2D()
Array< unsigned char > m_C1Indices[12]
OutputRegionType m_OutputRegion
FastMarchingImageFilterBase()
typename Superclass::InputDomainPointer InputImagePointer
typename NeighborhoodIteratorType::RadiusType NeighborhoodRadiusType
~FastMarchingImageFilterBase() override=default
SmartPointer< const Self > ConstPointer
bool IsCriticalC1Configuration3D(const std::bitset< 8 > &) const
LabelImagePointer m_LabelImage
IdentifierType GetTotalNumberOfNodes() const override
Get the total number of nodes in the domain.
bool IsChangeWellComposed3D(const NodeType &) const
double Solve(OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &iNeighbors) const
void GetInternalNodesUsed(OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNodesUsed)
NeighborhoodIterator< LabelImageType > NeighborhoodIteratorType
unsigned char GetLabelValueForGivenNode(const NodeType &iNode) const override
FastMarchingBase< TInput, TOutput > Superclass
Image< unsigned int, ImageDimension > ConnectedComponentImageType
typename ConnectedComponentImageType::Pointer ConnectedComponentImagePointer
FixedArray< InternalNodeStructure, ImageDimension > InternalNodeStructureArray
Image< unsigned char, ImageDimension > LabelImageType
unsigned int IsCriticalC2Configuration3D(const std::bitset< 8 > &) const
void SetLabelValueForGivenNode(const NodeType &iNode, const LabelType &iLabel) override
void SetOutputValue(OutputImageType *oImage, const NodeType &iNode, const OutputPixelType &iValue) override
Set the output value (front value) for a given node.
Array< unsigned char > m_RotationIndices[4]
typename Superclass::InputDomainType InputImageType
OutputDirectionType m_OutputDirection
typename OutputImageType::PointType OutputPointType
bool IsChangeWellComposed2D(const NodeType &) const
const OutputPixelType GetOutputValue(OutputImageType *oImage, const NodeType &iNode) const override
virtual void SetOutputSize(const OutputSizeType &size)
void PrintSelf(std::ostream &os, Indent indent) const override
void EnlargeOutputRequestedRegion(DataObject *output) override
typename Traits::NodePairType NodePairType
void UpdateNeighbors(OutputImageType *oImage, const NodeType &iNode) override
typename OutputImageType::DirectionType OutputDirectionType
bool IsCriticalC2Configuration2D(const std::bitset< 9 > &) const
virtual OutputSizeType GetOutputSize() const
OutputSpacingType m_OutputSpacing
bool m_OverrideOutputInformation
typename LabelImageType::Pointer LabelImagePointer
static constexpr unsigned int ImageDimension
bool IsCriticalC3Configuration2D(const std::bitset< 9 > &) const
FastMarchingImageFilterBase Self
bool CheckTopology(OutputImageType *oImage, const NodeType &iNode) override
SmartPointer< Self > Pointer
bool DoesVoxelChangeViolateWellComposedness(const NodeType &) const
OutputRegionType m_BufferedRegion
Array< unsigned char > m_C2Indices[8]
void GenerateOutputInformation() override
typename OutputImageType::SizeType OutputSizeType
void InitializeIndices3D()
typename OutputImageType::SpacingType OutputSpacingType
ConnectedComponentImagePointer m_ConnectedComponentImage
typename Traits::NodeType NodeType
Array< unsigned char > m_ReflectionIndices[2]
const InputImageType * m_InputCache
typename Traits::NodePairContainerConstIterator NodePairContainerConstIterator
typename Traits::NodePairContainerPointer NodePairContainerPointer
typename Superclass::OutputDomainType OutputImageType
bool IsCriticalC4Configuration2D(const std::bitset< 9 > &) const
typename Traits::OutputPixelType OutputPixelType
void UpdateValue(OutputImageType *oImage, const NodeType &iNode) override
bool DoesVoxelChangeViolateStrictTopology(const NodeType &) const
typename Traits::LabelType LabelType
Simulate a standard C array with copy semantics.
Templated n-dimensional image class.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
itk::Size< VDimension > RadiusType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType