VTK
vtkImageThresholdConnectivity.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageThresholdConnectivity.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 =========================================================================*/
36 #ifndef vtkImageThresholdConnectivity_h
37 #define vtkImageThresholdConnectivity_h
38 
39 #include "vtkImagingMorphologicalModule.h" // For export macro
40 #include "vtkImageAlgorithm.h"
41 
42 class vtkPoints;
43 class vtkImageData;
45 
46 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageThresholdConnectivity :
47  public vtkImageAlgorithm
48 {
49 public:
52  void PrintSelf(ostream& os, vtkIndent indent);
53 
55 
60  vtkGetObjectMacro(SeedPoints, vtkPoints);
62 
66  void ThresholdByUpper(double thresh);
67 
71  void ThresholdByLower(double thresh);
72 
77  void ThresholdBetween(double lower, double upper);
78 
80 
83  vtkSetMacro(ReplaceIn, int);
84  vtkGetMacro(ReplaceIn, int);
85  vtkBooleanMacro(ReplaceIn, int);
87 
89 
92  void SetInValue(double val);
93  vtkGetMacro(InValue, double);
95 
97 
100  vtkSetMacro(ReplaceOut, int);
101  vtkGetMacro(ReplaceOut, int);
102  vtkBooleanMacro(ReplaceOut, int);
104 
106 
109  void SetOutValue(double val);
110  vtkGetMacro(OutValue, double);
112 
114 
117  vtkGetMacro(UpperThreshold, double);
118  vtkGetMacro(LowerThreshold, double);
120 
122 
125  vtkSetVector2Macro(SliceRangeX, int);
126  vtkGetVector2Macro(SliceRangeX, int);
127  vtkSetVector2Macro(SliceRangeY, int);
128  vtkGetVector2Macro(SliceRangeY, int);
129  vtkSetVector2Macro(SliceRangeZ, int);
130  vtkGetVector2Macro(SliceRangeZ, int);
132 
134 
138  virtual void SetStencilData(vtkImageStencilData *stencil);
141 
143 
147  vtkSetMacro(ActiveComponent,int);
148  vtkGetMacro(ActiveComponent,int);
150 
152 
158  vtkSetVector3Macro(NeighborhoodRadius, double);
159  vtkGetVector3Macro(NeighborhoodRadius, double);
161 
163 
167  vtkSetClampMacro(NeighborhoodFraction, double, 0.0, 1.0);
168  vtkGetMacro(NeighborhoodFraction, double);
170 
175 
177 
181  vtkGetMacro(NumberOfInVoxels, int);
183 
184 protected:
187 
190  double InValue;
191  double OutValue;
194 
195  double NeighborhoodRadius[3];
197 
199 
200  int SliceRangeX[2];
201  int SliceRangeY[2];
202  int SliceRangeZ[2];
203 
205 
207 
209 
210  void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
211 
217 
218 private:
220  void operator=(const vtkImageThresholdConnectivity&) VTK_DELETE_FUNCTION;
221 };
222 
223 #endif
Generic algorithm superclass for image algs.
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
efficient description of an image stencil
virtual void SetStencilData(vtkImageStencilData *stencil)
Specify a stencil that will be used to limit the flood fill to an arbitrarily-shaped region of the im...
vtkImageStencilData * GetStencil()
void SetOutValue(double val)
If ReplaceOut is set, outside the fill will be replaced by this value.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses can reimplement this method to translate the update extent requests from each output port ...
void SetSeedPoints(vtkPoints *points)
Set the seeds.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void ComputeInputUpdateExtent(int inExt[6], int outExt[6])
void ThresholdByLower(double thresh)
Values less than or equal to this threshold will be filled.
void SetInValue(double val)
If ReplaceIn is set, the filled region will be replaced by this value.
static vtkImageThresholdConnectivity * New()
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called in response to a REQUEST_DATA request from the executive.
void ThresholdBetween(double lower, double upper)
Values within this range will be filled, where the range inludes values that are exactly equal to the...
vtkMTimeType GetMTime()
Override the MTime to account for the seed points.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void ThresholdByUpper(double thresh)
Values greater than or equal to this threshold will be filled.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition: vtkPoints.h:40
@ points
Definition: vtkX3D.h:446
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248