VMTK
vtkvmtkFastMarchingUpwindGradientImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkFastMarchingUpwindGradientImageFilter.h,v $
5 Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  Portions of this code are covered under the ITK copyright.
15  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm
16  for details.
17 
18  This software is distributed WITHOUT ANY WARRANTY; without even
19  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
20  PURPOSE. See the above copyright notices for more information.
21 
22 =========================================================================*/
23 
33 #ifndef __vtkvmtkFastMarchingUpwindGradientImageFilter_h
34 #define __vtkvmtkFastMarchingUpwindGradientImageFilter_h
35 
36 #include "vtkSimpleImageToImageFilter.h"
37 #include "vtkIdList.h"
38 #include "vtkvmtkWin32Header.h"
39 
40 class VTK_VMTK_SEGMENTATION_EXPORT vtkvmtkFastMarchingUpwindGradientImageFilter : public vtkSimpleImageToImageFilter
41 {
42  public:
44  vtkTypeMacro(vtkvmtkFastMarchingUpwindGradientImageFilter, vtkSimpleImageToImageFilter);
45 
46  vtkGetMacro(GenerateGradientImage,int);
47  vtkSetMacro(GenerateGradientImage,int);
48  vtkBooleanMacro(GenerateGradientImage,int);
49 
50  vtkGetMacro(TargetReachedMode,int);
51  vtkSetMacro(TargetReachedMode,int);
52 
54  {
55  this->SetTargetReachedMode(ONE_TARGET);
56  }
57 
59  {
60  this->SetTargetReachedMode(ALL_TARGETS);
61  }
62 
64  {
65  this->SetTargetReachedMode(NO_TARGETS);
66  }
67 
68  enum
69  {
72  NO_TARGETS
73  };
74 
75  vtkGetMacro(TargetValue,double);
76 
77  vtkGetMacro(TargetOffset,double);
78  vtkSetMacro(TargetOffset,double);
79 
80  vtkSetObjectMacro(Seeds,vtkIdList);
81  vtkGetObjectMacro(Seeds,vtkIdList);
82 
83  vtkSetObjectMacro(Targets,vtkIdList);
84  vtkGetObjectMacro(Targets,vtkIdList);
85 
86 protected:
89 
90  virtual void SimpleExecute(vtkImageData* input, vtkImageData* output) VTK_OVERRIDE;
91 
92 private:
94  void operator=(const vtkvmtkFastMarchingUpwindGradientImageFilter&); // Not implemented.
95 
96  int GenerateGradientImage;
97  int TargetReachedMode;
98  double TargetValue;
99  double TargetOffset;
100 
101  vtkIdList* Seeds;
102  vtkIdList* Targets;
103 };
104 
105 #endif
Wrapper class around itk::FastMarchingUpwindGradientImageFilter.