18 #ifndef __itkSparseFieldLevelSetImageFilter_h
19 #define __itkSparseFieldLevelSetImageFilter_h
35 template<
class TValueType >
72 template<
class TNeighborhoodType >
79 itkStaticConstMacro(
Dimension,
unsigned int,
80 NeighborhoodType::Dimension);
101 void Print(std::ostream & os)
const;
229 template<
class TInputImage,
class TOutputImage >
256 itkStaticConstMacro(ImageDimension,
unsigned int,
257 TOutputImage::ImageDimension);
291 itkSetMacro(NumberOfLayers,
unsigned int);
292 itkGetConstMacro(NumberOfLayers,
unsigned int);
297 itkGetConstMacro(IsoSurfaceValue,
ValueType);
310 itkSetMacro(InterpolateSurfaceLocation,
bool);
311 itkGetConstMacro(InterpolateSurfaceLocation,
bool);
315 void InterpolateSurfaceLocationOn()
316 { this->SetInterpolateSurfaceLocation(
true); }
317 void InterpolateSurfaceLocationOff()
318 { this->SetInterpolateSurfaceLocation(
false); }
321 #ifdef ITK_USE_CONCEPT_CHECKING
335 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
347 {
return ( value + dt * change ); }
352 virtual void PostProcessOutput();
358 virtual void InitializeBackgroundPixels();
367 void CopyInputToOutput();
370 void AllocateUpdateBuffer();
374 void ApplyUpdate(
const TimeStepType& dt);
378 TimeStepType CalculateChange();
383 void ConstructLayer(StatusType from, StatusType to);
389 void ConstructActiveLayer();
392 void InitializeActiveLayerValues();
401 void PropagateLayerValues(StatusType from, StatusType to,
402 StatusType promote,
int InOrOut);
408 void PropagateAllLayerValues();
413 void UpdateActiveLayerValues(TimeStepType dt, LayerType *StatusUpList,
414 LayerType *StatusDownList);
417 void ProcessStatusList(LayerType *InputList, LayerType *OutputList,
418 StatusType ChangeToStatus, StatusType SearchForStatus);
421 void ProcessOutsideList(LayerType *OutsideList, StatusType ChangeToStatus);
423 itkGetConstMacro(ValueZero, ValueType);
502 void operator=(
const Self &);
511 #ifndef ITK_MANUAL_INSTANTIATION
512 #include "itkSparseFieldLevelSetImageFilter.hxx"