VTK  9.3.20240419
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 
120 VTK_ABI_NAMESPACE_BEGIN
121 class VTKIMAGINGCORE_EXPORT vtkImageThreshold : public vtkThreadedImageAlgorithm
122 {
123 public:
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 
204 protected:
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 
223 private:
224  vtkImageThreshold(const vtkImageThreshold&) = delete;
225  void operator=(const vtkImageThreshold&) = delete;
226 };
227 
228 VTK_ABI_NAMESPACE_END
229 #endif
topologically and geometrically regular array of data
Definition: vtkImageData.h:156
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: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: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