VTK
vtkImageEuclideanDistance.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageEuclideanDistance.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
47 #ifndef vtkImageEuclideanDistance_h
48 #define vtkImageEuclideanDistance_h
49 
50 #include "vtkImagingGeneralModule.h" // For export macro
52 
53 #define VTK_EDT_SAITO_CACHED 0
54 #define VTK_EDT_SAITO 1
55 
57 {
58 public:
61  void PrintSelf(ostream& os, vtkIndent indent);
62 
64 
70  int SplitExtent(int splitExt[6], int startExt[6],
71  int num, int total);
73 
75 
79  vtkSetMacro(Initialize, int);
80  vtkGetMacro(Initialize, int);
81  vtkBooleanMacro(Initialize, int);
83 
85 
87  vtkSetMacro(ConsiderAnisotropy, int);
88  vtkGetMacro(ConsiderAnisotropy, int);
89  vtkBooleanMacro(ConsiderAnisotropy, int);
91 
93 
95  vtkSetMacro(MaximumDistance, double);
96  vtkGetMacro(MaximumDistance, double);
98 
100 
102  vtkSetMacro(Algorithm, int);
103  vtkGetMacro(Algorithm, int);
105  { this->SetAlgorithm(VTK_EDT_SAITO); }
107  { this->SetAlgorithm(VTK_EDT_SAITO_CACHED); }
109 
113 
114 protected:
117 
122 
123  // Replaces "EnlargeOutputUpdateExtent"
124  virtual void AllocateOutputScalars(vtkImageData *outData,
125  int outExt[6],
126  vtkInformation* outInfo);
127 
129  vtkInformation* out);
131  vtkInformation* out);
132 
133 private:
134  vtkImageEuclideanDistance(const vtkImageEuclideanDistance&); // Not implemented.
135  void operator=(const vtkImageEuclideanDistance&); // Not implemented.
136 };
137 
138 #endif
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
vtkImageEuclideanDistance::AllocateOutputScalars
virtual void AllocateOutputScalars(vtkImageData *outData, int outExt[6], vtkInformation *outInfo)
vtkImageEuclideanDistance::IterativeRequestUpdateExtent
virtual int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out)
vtkImageEuclideanDistance::SplitExtent
int SplitExtent(int splitExt[6], int startExt[6], int num, int total)
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkImageEuclideanDistance::Algorithm
int Algorithm
Definition: vtkImageEuclideanDistance.h:121
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkImageEuclideanDistance::New
static vtkImageEuclideanDistance * New()
vtkgl::in
GLuint in
Definition: vtkgl.h:16905
vtkImageEuclideanDistance::Initialize
int Initialize
Definition: vtkImageEuclideanDistance.h:119
vtkImageEuclideanDistance
computes 3D Euclidean DT
Definition: vtkImageEuclideanDistance.h:57
vtkImageEuclideanDistance::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkImageEuclideanDistance::SetAlgorithmToSaito
void SetAlgorithmToSaito()
Definition: vtkImageEuclideanDistance.h:104
vtkImageEuclideanDistance::vtkImageEuclideanDistance
vtkImageEuclideanDistance()
vtkgl::num
GLuint GLuint num
Definition: vtkgl.h:16907
vtkImagingGeneralModule.h
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
VTKIMAGINGGENERAL_EXPORT
#define VTKIMAGINGGENERAL_EXPORT
Definition: vtkImagingGeneralModule.h:15
VTK_EDT_SAITO
#define VTK_EDT_SAITO
Definition: vtkImageEuclideanDistance.h:54
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkImageEuclideanDistance::~vtkImageEuclideanDistance
~vtkImageEuclideanDistance()
Definition: vtkImageEuclideanDistance.h:116
vtkImageDecomposeFilter
Filters that execute axes in series.
Definition: vtkImageDecomposeFilter.h:33
vtkImageEuclideanDistance::SetAlgorithmToSaitoCached
void SetAlgorithmToSaitoCached()
Definition: vtkImageEuclideanDistance.h:106
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkImageEuclideanDistance::MaximumDistance
double MaximumDistance
Definition: vtkImageEuclideanDistance.h:118
vtkImageEuclideanDistance::IterativeRequestData
virtual int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkImageEuclideanDistance::IterativeRequestInformation
virtual int IterativeRequestInformation(vtkInformation *in, vtkInformation *out)
VTK_EDT_SAITO_CACHED
#define VTK_EDT_SAITO_CACHED
Definition: vtkImageEuclideanDistance.h:53
vtkImageDecomposeFilter.h
vtkImageEuclideanDistance::ConsiderAnisotropy
int ConsiderAnisotropy
Definition: vtkImageEuclideanDistance.h:120