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
57class VTKIMAGINGGENERAL_EXPORT vtkImageEuclideanDistance : public vtkImageDecomposeFilter
58{
59public:
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
110protected:
112 ~vtkImageEuclideanDistance() override = default;
113
118
119 // Replaces "EnlargeOutputUpdateExtent"
120 virtual void AllocateOutputScalars(vtkImageData* outData, int outExt[6], vtkInformation* outInfo);
121
124
125private:
127 void operator=(const vtkImageEuclideanDistance&) = delete;
128};
129
130#endif
topologically and geometrically regular array of data
Definition: vtkImageData.h:54
Filters that execute axes in series.
static vtkImageEuclideanDistance * New()
virtual void AllocateOutputScalars(vtkImageData *outData, int outExt[6], vtkInformation *outInfo)
void SetAlgorithmToSaitoCached()
Selects a Euclidean DT algorithm.
~vtkImageEuclideanDistance() override=default
int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out) override
void SetAlgorithmToSaito()
Selects a Euclidean DT algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.
int IterativeRequestInformation(vtkInformation *in, vtkInformation *out) override
int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_EDT_SAITO
#define VTK_EDT_SAITO_CACHED