VTK  9.2.6
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 =========================================================================*/
48 #ifndef vtkImageEuclideanDistance_h
49 #define vtkImageEuclideanDistance_h
50 
52 #include "vtkImagingGeneralModule.h" // For export macro
53 
54 #define VTK_EDT_SAITO_CACHED 0
55 #define VTK_EDT_SAITO 1
56 
57 class VTKIMAGINGGENERAL_EXPORT vtkImageEuclideanDistance : public vtkImageDecomposeFilter
58 {
59 public:
62  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
65 
71  vtkSetMacro(Initialize, vtkTypeBool);
72  vtkGetMacro(Initialize, vtkTypeBool);
73  vtkBooleanMacro(Initialize, vtkTypeBool);
75 
77 
81  vtkSetMacro(ConsiderAnisotropy, vtkTypeBool);
82  vtkGetMacro(ConsiderAnisotropy, vtkTypeBool);
83  vtkBooleanMacro(ConsiderAnisotropy, vtkTypeBool);
85 
87 
91  vtkSetMacro(MaximumDistance, double);
92  vtkGetMacro(MaximumDistance, double);
94 
96 
102  vtkSetMacro(Algorithm, int);
103  vtkGetMacro(Algorithm, int);
104  void SetAlgorithmToSaito() { this->SetAlgorithm(VTK_EDT_SAITO); }
105  void SetAlgorithmToSaitoCached() { this->SetAlgorithm(VTK_EDT_SAITO_CACHED); }
107 
109 
110 protected:
112  ~vtkImageEuclideanDistance() override = default;
113 
118 
119  // Replaces "EnlargeOutputUpdateExtent"
120  virtual void AllocateOutputScalars(vtkImageData* outData, int outExt[6], vtkInformation* outInfo);
121 
124 
125 private:
127  void operator=(const vtkImageEuclideanDistance&) = delete;
128 };
129 
130 #endif
Store vtkAlgorithm input/output information.
computes 3D Euclidean DT
void SetAlgorithmToSaitoCached()
Selects a Euclidean DT algorithm.
int vtkTypeBool
Definition: vtkABI.h:69
void PrintSelf(ostream &os, vtkIndent indent) override
Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3...
a simple class to control print indentation
Definition: vtkIndent.h:39
void SetAlgorithmToSaito()
Selects a Euclidean DT algorithm.
topologically and geometrically regular array of data
Definition: vtkImageData.h:53
#define VTK_EDT_SAITO
virtual int IterativeRequestInformation(vtkInformation *in, vtkInformation *out)
virtual int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
#define VTK_EDT_SAITO_CACHED
Filters that execute axes in series.
virtual int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out)