18 #ifndef itkFastMarchingUpwindGradientImageFilter_h
19 #define itkFastMarchingUpwindGradientImageFilter_h
60 template <
typename TLevelSet,
typename TSpeedImage = Image<
float, TLevelSet::ImageDimension>>
87 using NodeType =
typename Superclass::NodeType;
95 using PointType =
typename Superclass::OutputPointType;
98 static constexpr
unsigned int SetDimension = Superclass::SetDimension;
106 m_TargetPoints = points;
115 return m_TargetPoints;
122 return m_ReachedTargetPoints;
138 return m_GradientImage;
143 itkSetMacro(GenerateGradientImage,
bool);
146 itkGetConstReferenceMacro(GenerateGradientImage,
bool);
147 itkBooleanMacro(GenerateGradientImage);
153 itkSetMacro(TargetOffset,
double);
156 itkGetConstReferenceMacro(TargetOffset,
double);
161 itkSetMacro(TargetReachedMode,
int);
162 itkGetConstReferenceMacro(TargetReachedMode,
int);
166 this->SetTargetReachedMode(NoTargets);
171 this->SetTargetReachedMode(OneTarget);
176 this->SetTargetReachedMode(SomeTargets);
177 m_NumberOfTargets = numberOfTargets;
184 this->SetTargetReachedMode(AllTargets);
194 itkGetConstReferenceMacro(TargetValue,
double);
204 #ifdef ITK_USE_CONCEPT_CHECKING
217 PrintSelf(std::ostream & os,
Indent indent)
const override;
220 Initialize(LevelSetImageType *)
override;
223 GenerateData()
override;
226 UpdateNeighbors(
const IndexType & index,
const SpeedImageType *, LevelSetImageType *)
override;
230 const LevelSetImageType * output,
231 const LabelImageType * labelImage,
232 GradientImageType * gradientImage);
252 #ifndef ITK_MANUAL_INSTANTIATION
253 # include "itkFastMarchingUpwindGradientImageFilter.hxx"