VTK  9.2.5
vtkImageThreshold.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageThreshold.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 =========================================================================*/
136 #ifndef vtkImageThreshold_h
137 #define vtkImageThreshold_h
138 
139 #include "vtkImagingCoreModule.h" // For export macro
141 
142 class VTKIMAGINGCORE_EXPORT vtkImageThreshold : public vtkThreadedImageAlgorithm
143 {
144 public:
147  void PrintSelf(ostream& os, vtkIndent indent) override;
148 
152  void ThresholdByUpper(double thresh);
153 
157  void ThresholdByLower(double thresh);
158 
162  void ThresholdBetween(double lower, double upper);
163 
165 
168  vtkSetMacro(ReplaceIn, vtkTypeBool);
169  vtkGetMacro(ReplaceIn, vtkTypeBool);
170  vtkBooleanMacro(ReplaceIn, vtkTypeBool);
172 
174 
177  void SetInValue(double val);
178  vtkGetMacro(InValue, double);
180 
182 
185  vtkSetMacro(ReplaceOut, vtkTypeBool);
186  vtkGetMacro(ReplaceOut, vtkTypeBool);
187  vtkBooleanMacro(ReplaceOut, vtkTypeBool);
189 
191 
194  void SetOutValue(double val);
195  vtkGetMacro(OutValue, double);
197 
199 
202  vtkGetMacro(UpperThreshold, double);
203  vtkGetMacro(LowerThreshold, double);
205 
207 
210  vtkSetMacro(OutputScalarType, int);
211  vtkGetMacro(OutputScalarType, int);
212  void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
213  void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
214  void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
215  void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
216  void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
217  void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
218  void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
219  void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
220  void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
221  void SetOutputScalarTypeToSignedChar() { this->SetOutputScalarType(VTK_SIGNED_CHAR); }
222  void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
224 
225 protected:
227  ~vtkImageThreshold() override = default;
228 
232  double InValue;
234  double OutValue;
235 
237 
239 
241  vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData,
242  int outExt[6], int id) override;
243 
244 private:
245  vtkImageThreshold(const vtkImageThreshold&) = delete;
246  void operator=(const vtkImageThreshold&) = delete;
247 };
248 
249 #endif
topologically and geometrically regular array of data
Definition: vtkImageData.h:163
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:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Generic filter that has one input.
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SHORT
Definition: vtkType.h:48
#define VTK_UNSIGNED_INT
Definition: vtkType.h:51
#define VTK_DOUBLE
Definition: vtkType.h:55
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:47
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:49
#define VTK_INT
Definition: vtkType.h:50
#define VTK_SIGNED_CHAR
Definition: vtkType.h:46
#define VTK_FLOAT
Definition: vtkType.h:54
#define VTK_CHAR
Definition: vtkType.h:45
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:53
#define VTK_LONG
Definition: vtkType.h:52