18 #ifndef __itkFastMarchingUpwindGradientImageFilter_h
19 #define __itkFastMarchingUpwindGradientImageFilter_h
60 class TSpeedImage = Image< float, ::itk::GetImageDimension< TLevelSet >::ImageDimension > >
86 typedef typename Superclass::NodeType
NodeType;
94 typedef typename Superclass::OutputPointType
PointType;
97 itkStaticConstMacro(SetDimension,
unsigned int, Superclass::SetDimension);
104 m_TargetPoints = points;
111 {
return m_TargetPoints; }
115 {
return m_ReachedTargetPoints; }
130 {
return m_GradientImage; }
134 itkSetMacro(GenerateGradientImage,
bool);
137 itkGetConstReferenceMacro(GenerateGradientImage,
bool);
138 itkBooleanMacro(GenerateGradientImage);
144 itkSetMacro(TargetOffset,
double);
147 itkGetConstReferenceMacro(TargetOffset,
double);
152 itkSetMacro(TargetReachedMode,
int);
153 itkGetConstReferenceMacro(TargetReachedMode,
int);
154 void SetTargetReachedModeToNoTargets()
155 { this->SetTargetReachedMode(NoTargets); }
156 void SetTargetReachedModeToOneTarget()
157 { this->SetTargetReachedMode(OneTarget); }
160 this->SetTargetReachedMode(SomeTargets);
161 m_NumberOfTargets = numberOfTargets;
165 void SetTargetReachedModeToAllTargets()
166 { this->SetTargetReachedMode(AllTargets); }
175 itkGetConstReferenceMacro(TargetValue,
double);
184 #ifdef ITK_USE_CONCEPT_CHECKING
196 void PrintSelf(std::ostream & os,
Indent indent)
const;
199 virtual void Initialize(LevelSetImageType *);
203 virtual void UpdateNeighbors(
const IndexType & index,
204 const SpeedImageType *, LevelSetImageType *);
206 virtual void ComputeGradient(
const IndexType & index,
207 const LevelSetImageType *output,
208 const LabelImageType *labelImage,
209 GradientImageType *gradientImage);
214 void operator=(
const Self &);
234 #ifndef ITK_MANUAL_INSTANTIATION
235 #include "itkFastMarchingUpwindGradientImageFilter.hxx"