VTK  9.4.20250413
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
114#ifndef vtkImageThreshold_h
115#define vtkImageThreshold_h
116
117#include "vtkImagingCoreModule.h" // For export macro
119
120VTK_ABI_NAMESPACE_BEGIN
121class VTKIMAGINGCORE_EXPORT vtkImageThreshold : public vtkThreadedImageAlgorithm
122{
123public:
126 void PrintSelf(ostream& os, vtkIndent indent) override;
127
131 void ThresholdByUpper(double thresh);
132
136 void ThresholdByLower(double thresh);
137
141 void ThresholdBetween(double lower, double upper);
142
144
147 vtkSetMacro(ReplaceIn, vtkTypeBool);
148 vtkGetMacro(ReplaceIn, vtkTypeBool);
149 vtkBooleanMacro(ReplaceIn, vtkTypeBool);
151
153
156 void SetInValue(double val);
157 vtkGetMacro(InValue, double);
159
161
164 vtkSetMacro(ReplaceOut, vtkTypeBool);
165 vtkGetMacro(ReplaceOut, vtkTypeBool);
166 vtkBooleanMacro(ReplaceOut, vtkTypeBool);
168
170
173 void SetOutValue(double val);
174 vtkGetMacro(OutValue, double);
176
178
181 vtkGetMacro(UpperThreshold, double);
182 vtkGetMacro(LowerThreshold, double);
184
186
189 vtkSetMacro(OutputScalarType, int);
190 vtkGetMacro(OutputScalarType, int);
191 void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
192 void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
193 void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
194 void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
195 void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
196 void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
197 void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
198 void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
199 void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
200 void SetOutputScalarTypeToSignedChar() { this->SetOutputScalarType(VTK_SIGNED_CHAR); }
201 void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
203
204protected:
206 ~vtkImageThreshold() override = default;
207
211 double InValue;
213 double OutValue;
214
216
218
220 vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData,
221 int outExt[6], int id) override;
222
223private:
224 vtkImageThreshold(const vtkImageThreshold&) = delete;
225 void operator=(const vtkImageThreshold&) = delete;
226};
227
228VTK_ABI_NAMESPACE_END
229#endif
topologically and geometrically regular array of data
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.
static vtkImageThreshold * New()
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.
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:108
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:37
#define VTK_UNSIGNED_INT
Definition vtkType.h:40
#define VTK_DOUBLE
Definition vtkType.h:44
#define VTK_UNSIGNED_CHAR
Definition vtkType.h:36
#define VTK_UNSIGNED_SHORT
Definition vtkType.h:38
#define VTK_INT
Definition vtkType.h:39
#define VTK_SIGNED_CHAR
Definition vtkType.h:35
#define VTK_FLOAT
Definition vtkType.h:43
#define VTK_CHAR
Definition vtkType.h:34
#define VTK_UNSIGNED_LONG
Definition vtkType.h:42
#define VTK_LONG
Definition vtkType.h:41