19#ifndef itkFastMarchingReachedTargetNodesStoppingCriterion_h
20#define itkFastMarchingReachedTargetNodesStoppingCriterion_h
24#include "ITKFastMarchingExport.h"
47extern ITKFastMarching_EXPORT std::ostream &
59template <
typename TInput,
typename TOutput>
61 :
public FastMarchingStoppingCriterionBase<TInput, TOutput>
67 using Superclass = FastMarchingStoppingCriterionBase<TInput, TOutput>;
70 using typename Superclass::Traits;
78 using typename Superclass::OutputPixelType;
79 using typename Superclass::NodeType;
82#if !defined(ITK_LEGACY_REMOVE)
103 itkSetMacro(TargetOffset, OutputPixelType);
104 itkGetMacro(TargetOffset, OutputPixelType);
143 while (pointsIter != pointsEnd)
145 if (*pointsIter == iNode)
176 return "Target Nodes Reached with possible overshoot";
219 itkExceptionMacro(
"Number of target nodes to be reached is null");
224 <<
"Number of target nodes to be reached is above the provided number of target nodes");
Contains all enum classes used by FastMarchingReachedTargetNodesStoppingCriterion class.
OutputPixelType m_TargetOffset
void SetNumberOfTargetsToBeReached(const vcl_size_t &iN)
Set the number of target nodes to be reached.
bool IsSatisfied() const override
returns if the stopping condition is satisfied or not.
virtual void SetTargetNodes(const std::vector< NodeType > &iNodes)
Set Target Nodes.
void SetTargetCondition(const TargetConditionEnum &iCondition)
TargetConditionEnum m_TargetCondition
void SetCurrentNode(const NodeType &iNode) override
Set the current node.
std::string GetDescription() const override
Get a short description of the stopping criterion.
std::vector< NodeType > m_TargetNodes
SmartPointer< Self > Pointer
FastMarchingStoppingCriterionBase< TInput, TOutput > Superclass
OutputPixelType m_StoppingValue
vcl_size_t m_NumberOfTargetsToBeReached
SmartPointer< const Self > ConstPointer
~FastMarchingReachedTargetNodesStoppingCriterion() override=default
std::vector< NodeType > m_ReachedTargetNodes
FastMarchingReachedTargetNodesStoppingCriterion()
FastMarchingReachedTargetNodesStoppingCriterion Self
FastMarchingReachedTargetNodesStoppingCriterionEnums::TargetCondition TargetConditionEnum
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)