18#ifndef itkFastMarchingUpwindGradientImageFilter_h
19#define itkFastMarchingUpwindGradientImageFilter_h
49extern ITKFastMarching_EXPORT std::ostream &
87template <
typename TLevelSet,
typename TSpeedImage = Image<
float, TLevelSet::ImageDimension>>
129#if !defined(ITK_LEGACY_REMOVE)
181 itkSetMacro(GenerateGradientImage,
bool);
184 itkGetConstReferenceMacro(GenerateGradientImage,
bool);
185 itkBooleanMacro(GenerateGradientImage);
191 itkSetMacro(TargetOffset,
double);
194 itkGetConstReferenceMacro(TargetOffset,
double);
235 itkGetConstReferenceMacro(TargetValue,
double);
294 if (!targetPointsExist)
296 itkExceptionMacro(
"No target point set. Cannot set the target reached mode.");
301 if (targetModeMinPoints > availableNumberOfTargets)
303 itkExceptionMacro(
"Not enough target points: Available: " << availableNumberOfTargets
304 <<
"; Requested: " << targetModeMinPoints);
328#ifndef ITK_MANUAL_INSTANTIATION
329# include "itkFastMarchingUpwindGradientImageFilter.hxx"
A templated class holding a n-Dimensional covariant vector.
typename LevelSetType::NodeContainer NodeContainer
typename SpeedImageType::ConstPointer SpeedImageConstPointer
typename LevelSetImageType::SpacingType OutputSpacingType
typename LevelSetType::NodeType NodeType
typename LevelSetType::LevelSetPointer LevelSetPointer
Image< LabelEnum, Self::SetDimension > LabelImageType
FastMarchingImageFilter()
typename LevelSetType::NodeContainerPointer NodeContainerPointer
static constexpr unsigned int SetDimension
typename LevelSetImageType::PointType OutputPointType
typename LevelSetImageType::IndexType LevelSetIndexType
TSpeedImage SpeedImageType
typename LevelSetType::LevelSetImageType LevelSetImageType
LevelSetTypeDefault< TLevelSet > LevelSetType
Index< Self::SetDimension > IndexType
typename LevelSetType::PixelType PixelType
enums for itk::FastMarchingUpwindGradientImageFilter
SizeValueType m_NumberOfTargets
bool IsTargetPointsExistenceConditionSatisfied() const
NodeContainerPointer GetReachedTargetPoints()
SmartPointer< Self > Pointer
TargetConditionEnum m_TargetReachedMode
Image< GradientPixelType, Self::SetDimension > GradientImageType
virtual void SetTargetReachedMode(TargetConditionEnum _arg)
GradientImagePointer m_GradientImage
void PrintSelf(std::ostream &os, Indent indent) const override
void VerifyPreconditions() const override
Verifies that the process object has been configured correctly, that all required inputs are set,...
typename LevelSetType::NodeContainerPointer NodeContainerPointer
typename GradientImageType::Pointer GradientImagePointer
static constexpr unsigned int SetDimension
void SetTargetReachedModeToSomeTargets(SizeValueType numberOfTargets)
GradientImagePointer GetGradientImage() const
void SetTargetReachedModeToOneTarget()
CovariantVector< PixelType, Self::SetDimension > GradientPixelType
void SetTargetReachedModeToNoTargets()
bool m_GenerateGradientImage
virtual void ComputeGradient(const IndexType &index, const LevelSetImageType *output, const LabelImageType *labelImage, GradientImageType *gradientImage)
NodeContainerPointer m_TargetPoints
Index< Self::SetDimension > IndexType
NodeContainerPointer GetTargetPoints()
NodeContainerPointer m_ReachedTargetPoints
~FastMarchingUpwindGradientImageFilter() override=default
FastMarchingUpwindGradientImageFilter()
void SetTargetReachedModeToAllTargets()
typename LevelSetType::LevelSetImageType LevelSetImageType
void GenerateData() override
void Initialize(LevelSetImageType *) override
FastMarchingUpwindGradientImageFilter Self
FastMarchingUpwindGradientImageFilterEnums::TargetCondition TargetConditionEnum
typename Superclass::OutputPointType PointType
SpeedImageType SpeedImageType
void VerifyTargetReachedModeConditions(unsigned int targetModeMinPoints=1) const
void UpdateNeighbors(const IndexType &index, const SpeedImageType *, LevelSetImageType *) override
FastMarchingImageFilter< TLevelSet, TSpeedImage > Superclass
SmartPointer< const Self > ConstPointer
typename LevelSetType::NodeContainer NodeContainer
void SetTargetPoints(NodeContainer *points)
Image< LabelEnum, Self::SetDimension > LabelImageType
Templated n-dimensional image class.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
virtual void Modified() const
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)