VTK  9.3.0
vtkImageThreshold.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
24 #ifndef vtkImageThreshold_h
25 #define vtkImageThreshold_h
26 
27 #include "vtkImagingCoreModule.h" // For export macro
29 
30 VTK_ABI_NAMESPACE_BEGIN
31 class VTKIMAGINGCORE_EXPORT vtkImageThreshold : public vtkThreadedImageAlgorithm
32 {
33 public:
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
41  void ThresholdByUpper(double thresh);
42 
46  void ThresholdByLower(double thresh);
47 
51  void ThresholdBetween(double lower, double upper);
52 
54 
57  vtkSetMacro(ReplaceIn, vtkTypeBool);
58  vtkGetMacro(ReplaceIn, vtkTypeBool);
59  vtkBooleanMacro(ReplaceIn, vtkTypeBool);
61 
63 
66  void SetInValue(double val);
67  vtkGetMacro(InValue, double);
69 
71 
74  vtkSetMacro(ReplaceOut, vtkTypeBool);
75  vtkGetMacro(ReplaceOut, vtkTypeBool);
76  vtkBooleanMacro(ReplaceOut, vtkTypeBool);
78 
80 
83  void SetOutValue(double val);
84  vtkGetMacro(OutValue, double);
86 
88 
91  vtkGetMacro(UpperThreshold, double);
92  vtkGetMacro(LowerThreshold, double);
94 
96 
99  vtkSetMacro(OutputScalarType, int);
100  vtkGetMacro(OutputScalarType, int);
101  void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
102  void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
103  void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
104  void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
105  void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
106  void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
107  void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
108  void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
109  void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
110  void SetOutputScalarTypeToSignedChar() { this->SetOutputScalarType(VTK_SIGNED_CHAR); }
111  void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
113 
114 protected:
116  ~vtkImageThreshold() override = default;
117 
121  double InValue;
123  double OutValue;
124 
126 
128 
130  vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData,
131  int outExt[6], int id) override;
132 
133 private:
134  vtkImageThreshold(const vtkImageThreshold&) = delete;
135  void operator=(const vtkImageThreshold&) = delete;
136 };
137 
138 VTK_ABI_NAMESPACE_END
139 #endif
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
Flexible threshold.
void ThresholdBetween(double lower, double upper)
The values in a range (inclusive) match.
void SetOutputScalarTypeToInt()
Set the desired output scalar type to cast to.
void SetOutValue(double val)
Replace the in range pixels with this value.
void SetOutputScalarTypeToLong()
Set the desired output scalar type to cast to.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetOutputScalarTypeToChar()
Set the desired output scalar type to cast to.
void SetOutputScalarTypeToDouble()
Set the desired output scalar type to cast to.
void SetOutputScalarTypeToSignedChar()
Set the desired output scalar type to cast to.
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int outExt[6], int id) override
If the subclass does not define an Execute method, then the task will be broken up,...
void SetOutputScalarTypeToUnsignedLong()
Set the desired output scalar type to cast to.
void SetInValue(double val)
Replace the in range pixels with this value.
void SetOutputScalarTypeToShort()
Set the desired output scalar type to cast to.
void SetOutputScalarTypeToUnsignedShort()
Set the desired output scalar type to cast to.
static vtkImageThreshold * New()
void ThresholdByLower(double thresh)
The values less than or equal to the value match.
void ThresholdByUpper(double thresh)
The values greater than or equal to the value match.
void SetOutputScalarTypeToUnsignedChar()
Set the desired output scalar type to cast to.
void SetOutputScalarTypeToUnsignedInt()
Set the desired output scalar type to cast to.
~vtkImageThreshold() override=default
void SetOutputScalarTypeToFloat()
Set the desired output scalar type to cast to.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Generic filter that has one input.
int vtkTypeBool
Definition: vtkABI.h:64
#define VTK_SHORT
Definition: vtkType.h:36
#define VTK_UNSIGNED_INT
Definition: vtkType.h:39
#define VTK_DOUBLE
Definition: vtkType.h:43
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:35
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:37
#define VTK_INT
Definition: vtkType.h:38
#define VTK_SIGNED_CHAR
Definition: vtkType.h:34
#define VTK_FLOAT
Definition: vtkType.h:42
#define VTK_CHAR
Definition: vtkType.h:33
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:41
#define VTK_LONG
Definition: vtkType.h:40