19 #ifndef itkFastMarchingImageFilterBase_h
20 #define itkFastMarchingImageFilterBase_h
71 template<
typename TInput,
typename TOutput >
107 typedef typename Traits::NodePairContainerConstIterator
125 class InternalNodeStructure;
151 itkSetMacro(OverrideOutputInformation,
bool);
152 itkGetConstReferenceMacro(OverrideOutputInformation,
bool);
153 itkBooleanMacro(OverrideOutputInformation);
190 const
NodeType& iNode ) const ITK_OVERRIDE;
202 const
NodeType& iNode ) ITK_OVERRIDE;
206 const
NodeType& iValue ) ITK_OVERRIDE;
210 const
NodeType& iNode ) ITK_OVERRIDE;
260 void operator = ( const Self& );
264 #include "itkFastMarchingImageFilterBase.hxx"
265 #endif // itkFastMarchingImageFilterBase_h
Array class with size defined at construction time.
Array< unsigned char > m_RotationIndices[4]
FixedArray< InternalNodeStructure, ImageDimension > InternalNodeStructureArray
Traits::NodeType NodeType
bool DoesVoxelChangeViolateStrictTopology(const NodeType &) const
OutputImageType::SpacingType OutputSpacingType
virtual ~FastMarchingImageFilterBase()
OutputPointType m_OutputOrigin
Array< unsigned char > m_ReflectionIndices[2]
Superclass::InputDomainPointer InputImagePointer
OutputSpacingType m_OutputSpacing
Traits::NodePairContainerType NodePairContainerType
Fast Marching Method on Image.
bool IsCriticalC3Configuration2D(const std::bitset< 9 > &) const
Superclass::InputPixelType InputPixelType
FastMarchingImageFilterBase()
Superclass::OutputPixelType OutputPixelType
bool IsCriticalC1Configuration2D(const std::bitset< 9 > &) const
unsigned int IsCriticalC2Configuration3D(const std::bitset< 8 > &) const
LabelImagePointer m_LabelImage
Array< unsigned char > m_C2Indices[8]
Superclass::OutputDomainPointer OutputImagePointer
FastMarchingImageFilterBase Self
SmartPointer< Self > Pointer
Traits::NodePairContainerPointer NodePairContainerPointer
bool IsCriticalC1Configuration3D(const std::bitset< 8 > &) const
Traits::NodePairType NodePairType
virtual void GenerateOutputInformation() override
Superclass::OutputDomainType OutputImageType
Superclass::Traits Traits
static const unsigned int ImageDimension
OutputImageType::RegionType OutputRegionType
Simulate a standard C array with copy semnatics.
void InitializeIndices2D()
void InitializeOutput(OutputImageType *oImage) override
bool m_OverrideOutputInformation
ConnectedComponentImagePointer m_ConnectedComponentImage
Superclass::InputDomainType InputImageType
bool IsCriticalC4Configuration2D(const std::bitset< 9 > &) const
SizeValueType IdentifierType
LabelImageType::Pointer LabelImagePointer
NeighborhoodIterator< LabelImageType > NeighborhoodIteratorType
OutputImageType::SizeType OutputSizeType
Abstract class to solve an Eikonal based-equation using Fast Marching Method.
bool IsChangeWellComposed2D(const NodeType &) const
Traits::OutputDomainPointer OutputDomainPointer
bool IsCriticalC2Configuration2D(const std::bitset< 9 > &) const
void GetInternalNodesUsed(OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNodesUsed)
Image< unsigned char, ImageDimension > LabelImageType
Traits::InputDomainType InputDomainType
Traits::InputPixelType InputPixelType
double Solve(OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNeighbors) const
Superclass::RadiusType RadiusType
const InputImageType * m_InputCache
OutputImageType::DirectionType OutputDirectionType
Array< unsigned char > m_C1Indices[12]
Traits::OutputPixelType OutputPixelType
unsigned char GetLabelValueForGivenNode(const NodeType &iNode) const override
SmartPointer< const Self > ConstPointer
Image< unsigned int, ImageDimension > ConnectedComponentImageType
Traits::NodePairContainerConstIterator NodePairContainerConstIterator
FastMarchingTraits< TInput, TOutput > Traits
OutputRegionType m_OutputRegion
Traits::NodeType NodeType
OutputImageType::PointType OutputPointType
bool CheckTopology(OutputImageType *oImage, const NodeType &iNode) override
virtual void EnlargeOutputRequestedRegion(DataObject *output) override
void SetOutputValue(OutputImageType *oDomain, const NodeType &iNode, const OutputPixelType &iValue) override
Set the output value (front value) for a given node.
void InitializeIndices3D()
bool IsChangeWellComposed3D(const NodeType &) const
bool DoesVoxelChangeViolateWellComposedness(const NodeType &) const
OutputRegionType m_BufferedRegion
void SetLabelValueForGivenNode(const NodeType &iNode, const LabelType &iLabel) override
IdentifierType GetTotalNumberOfNodes() const override
Get the total number of nodes in the domain.
NeighborhoodIteratorType::RadiusType NeighborhoodRadiusType
Superclass::LabelType LabelType
virtual void UpdateNeighbors(OutputImageType *oImage, const NodeType &iNode) override
OutputDirectionType m_OutputDirection
Traits::LabelType LabelType
virtual void SetOutputSize(const OutputSizeType &size)
Traits::OutputDomainType OutputDomainType
Base class for all data objects in ITK.
Traits::InputDomainPointer InputDomainPointer
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
Templated n-dimensional image class.
ConnectedComponentImageType::Pointer ConnectedComponentImagePointer
virtual OutputSizeType GetOutputSize() const
const OutputPixelType GetOutputValue(OutputImageType *oImage, const NodeType &iNode) const override
FastMarchingBase< TInput, TOutput > Superclass
virtual void UpdateValue(OutputImageType *oImage, const NodeType &iValue) override