19 #ifndef itkFastMarchingBase_h
20 #define itkFastMarchingBase_h
101 template<
typename TInput,
typename TOutput >
131 typedef typename Traits::NodePairContainerConstIterator
168 itkSetMacro( TopologyCheck, TopologyCheckType );
169 itkGetConstReferenceMacro( TopologyCheck, TopologyCheckType );
173 itkSetObjectMacro( TrialPoints, NodePairContainerType );
174 itkGetModifiableObjectMacro(TrialPoints, NodePairContainerType );
178 itkSetObjectMacro( AlivePoints, NodePairContainerType );
179 itkGetModifiableObjectMacro(AlivePoints, NodePairContainerType );
183 itkSetObjectMacro( ProcessedPoints, NodePairContainerType );
184 itkGetModifiableObjectMacro(ProcessedPoints, NodePairContainerType );
188 itkSetObjectMacro( ForbiddenPoints, NodePairContainerType );
189 itkGetModifiableObjectMacro(ForbiddenPoints, NodePairContainerType );
193 itkSetObjectMacro( StoppingCriterion, StoppingCriterionType );
194 itkGetModifiableObjectMacro(StoppingCriterion, StoppingCriterionType );
197 itkGetMacro( SpeedConstant,
double );
198 itkSetMacro( SpeedConstant,
double );
201 itkGetMacro( NormalizationFactor,
double );
202 itkSetMacro( NormalizationFactor,
double );
205 itkGetMacro( TargetReachedValue, OutputPixelType );
211 itkSetMacro(CollectPoints,
bool);
214 itkGetConstReferenceMacro(CollectPoints,
bool);
215 itkBooleanMacro(CollectPoints);
228 double m_SpeedConstant;
229 double m_InverseSpeed;
230 double m_NormalizationFactor;
241 bool m_CollectPoints;
247 typedef std::priority_queue<
272 virtual
unsigned char
273 GetLabelValueForGivenNode( const
NodeType& iNode ) const = 0;
278 virtual
void SetLabelValueForGivenNode( const
NodeType& iNode,
309 void GenerateData() ITK_OVERRIDE;
312 void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
319 #ifndef ITK_MANUAL_INSTANTIATION
320 #include "itkFastMarchingBase.hxx"
std::vector< NodePairType > HeapContainerType
SuperclassType Superclass
Traits::SuperclassType SuperclassType
Traits::NodePairContainerConstIterator NodePairContainerConstIterator
std::priority_queue< NodePairType, HeapContainerType, NodeComparerType > PriorityQueueType
SmartPointer< Self > Pointer
Traits::NodePairContainerPointer NodePairContainerPointer
SizeValueType IdentifierType
FastMarchingStoppingCriterionBase< TInput, TOutput > StoppingCriterionType
Abstract class to solve an Eikonal based-equation using Fast Marching Method.
Traits::OutputDomainPointer OutputDomainPointer
std::greater< NodePairType > NodeComparerType
Traits::InputDomainType InputDomainType
Traits::InputPixelType InputPixelType
Traits::NodePairContainerType NodePairContainerType
Traits::NodePairType NodePairType
Traits::OutputPixelType OutputPixelType
FastMarchingTraits< TInput, TOutput > Traits
Traits::NodeType NodeType
SmartPointer< const Self > ConstPointer
Control indentation during Print() invocation.
Abstract Stopping Criterion dedicated for Fast Marching Methods.
Base class traits to be used by the FastMarchingBase.
StoppingCriterionType::Pointer StoppingCriterionPointer
Traits::LabelType LabelType
Traits::OutputDomainType OutputDomainType
Traits::InputDomainPointer InputDomainPointer