VTK
vtkImageGaussianSmooth.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageGaussianSmooth.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 =========================================================================*/
25 #ifndef vtkImageGaussianSmooth_h
26 #define vtkImageGaussianSmooth_h
27 
28 
29 #include "vtkImagingGeneralModule.h" // For export macro
31 
33 {
34 public:
36  void PrintSelf(ostream& os, vtkIndent indent);
37 
42 
43 
45 
46  vtkSetVector3Macro(StandardDeviations, double);
47  void SetStandardDeviation(double std)
48  {this->SetStandardDeviations(std,std,std);}
49  void SetStandardDeviations(double a,double b)
50  {this->SetStandardDeviations(a,b,0.0);}
51  vtkGetVector3Macro(StandardDeviations, double);
53 
55 
57  void SetStandardDeviation(double a,double b)
58  {this->SetStandardDeviations(a,b,0.0);}
59  void SetStandardDeviation(double a,double b,double c)
60  {this->SetStandardDeviations(a,b,c);}
62 
64 
67  vtkSetVector3Macro(RadiusFactors, double);
68  void SetRadiusFactors(double f, double f2) {
69  this->SetRadiusFactors(f,f2,1.5);}
70  void SetRadiusFactor(double f) {this->SetRadiusFactors(f, f, f);}
71  vtkGetVector3Macro(RadiusFactors, double);
73 
75 
77  vtkSetMacro(Dimensionality, int);
78  vtkGetMacro(Dimensionality, int);
80 
81 protected:
84 
86  double StandardDeviations[3];
87  double RadiusFactors[3];
88 
89  void ComputeKernel(double *kernel, int min, int max, double std);
91  void InternalRequestUpdateExtent(int *, int*);
92  void ExecuteAxis(int axis, vtkImageData *inData, int inExt[6],
93  vtkImageData *outData, int outExt[6],
94  int *pcycle, int target, int *pcount, int total,
95  vtkInformation *inInfo);
97  vtkInformationVector **inputVector,
98  vtkInformationVector *outputVector,
99  vtkImageData ***inData, vtkImageData **outData,
100  int outExt[6], int id);
101 
102 private:
103  vtkImageGaussianSmooth(const vtkImageGaussianSmooth&); // Not implemented.
104  void operator=(const vtkImageGaussianSmooth&); // Not implemented.
105 };
106 
107 #endif
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
vtkImageGaussianSmooth::New
static vtkImageGaussianSmooth * New()
vtkgl::b
GLboolean GLboolean GLboolean b
Definition: vtkgl.h:12312
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkImageGaussianSmooth::vtkImageGaussianSmooth
vtkImageGaussianSmooth()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkImageGaussianSmooth::ExecuteAxis
void ExecuteAxis(int axis, vtkImageData *inData, int inExt[6], vtkImageData *outData, int outExt[6], int *pcycle, int target, int *pcount, int total, vtkInformation *inInfo)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkThreadedImageAlgorithm
Generic filter that has one input..
Definition: vtkThreadedImageAlgorithm.h:37
vtkImageGaussianSmooth::InternalRequestUpdateExtent
void InternalRequestUpdateExtent(int *, int *)
vtkThreadedImageAlgorithm.h
vtkImageGaussianSmooth::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkImageGaussianSmooth
Performs a gaussian convolution.
Definition: vtkImageGaussianSmooth.h:33
vtkImageGaussianSmooth::SetStandardDeviations
void SetStandardDeviations(double a, double b)
Definition: vtkImageGaussianSmooth.h:49
max
#define max(a, b)
Definition: vtkX3DExporterFIWriterHelper.h:30
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkImageGaussianSmooth::SetStandardDeviation
void SetStandardDeviation(double a, double b, double c)
Definition: vtkImageGaussianSmooth.h:59
vtkgl::c
const GLubyte * c
Definition: vtkgl.h:15720
vtkImageGaussianSmooth::SetRadiusFactors
void SetRadiusFactors(double f, double f2)
Definition: vtkImageGaussianSmooth.h:68
vtkImageGaussianSmooth::SetStandardDeviation
void SetStandardDeviation(double std)
Definition: vtkImageGaussianSmooth.h:47
vtkImagingGeneralModule.h
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
VTKIMAGINGGENERAL_EXPORT
#define VTKIMAGINGGENERAL_EXPORT
Definition: vtkImagingGeneralModule.h:15
vtkImageGaussianSmooth::SetStandardDeviation
void SetStandardDeviation(double a, double b)
Definition: vtkImageGaussianSmooth.h:57
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkgl::f
GLclampf f
Definition: vtkgl.h:14181
vtkgl::a
GLboolean GLboolean GLboolean GLboolean a
Definition: vtkgl.h:12312
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkImageGaussianSmooth::ThreadedRequestData
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int outExt[6], int id)
vtkImageGaussianSmooth::~vtkImageGaussianSmooth
~vtkImageGaussianSmooth()
vtkImageGaussianSmooth::SetRadiusFactor
void SetRadiusFactor(double f)
Definition: vtkImageGaussianSmooth.h:70
vtkImageGaussianSmooth::ComputeKernel
void ComputeKernel(double *kernel, int min, int max, double std)
target
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:828
vtkImageGaussianSmooth::Dimensionality
int Dimensionality
Definition: vtkImageGaussianSmooth.h:85
vtkImageGaussianSmooth::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)