dox/Imaging/vtkImageGaussianSmooth.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00029
#ifndef __vtkImageGaussianSmooth_h
00030
#define __vtkImageGaussianSmooth_h
00031
00032
00033
#include "vtkImageToImageFilter.h"
00034
00035 class VTK_IMAGING_EXPORT vtkImageGaussianSmooth :
public vtkImageToImageFilter
00036 {
00037
public:
00038 vtkTypeRevisionMacro(vtkImageGaussianSmooth,
vtkImageToImageFilter);
00039
void PrintSelf(ostream& os,
vtkIndent indent);
00040
00044
static vtkImageGaussianSmooth *
New();
00045
00046
00048
00049 vtkSetVector3Macro(StandardDeviations,
float);
00050 void SetStandardDeviation(
float std)
00051 {this->SetStandardDeviations(std,std,std);}
00052 void SetStandardDeviations(
float a,
float b)
00053 {this->SetStandardDeviations(a,b,0.0);}
00054 vtkGetVector3Macro(StandardDeviations,
float);
00056
00058
00060 void SetStandardDeviation(
float a,
float b)
00061 {this->SetStandardDeviations(a,b,0.0);}
00062 void SetStandardDeviation(
float a,
float b,
float c)
00063 {this->SetStandardDeviations(a,b,c);}
00065
00067
00070 vtkSetVector3Macro(RadiusFactors,
float);
00071 void SetRadiusFactors(
float f,
float f2) {this->SetRadiusFactors(f,f2,1.5);}
00072 void SetRadiusFactor(
float f) {this->SetRadiusFactors(f, f, f);}
00073 vtkGetVector3Macro(RadiusFactors,
float);
00075
00077
00079 vtkSetMacro(Dimensionality,
int);
00080 vtkGetMacro(Dimensionality,
int);
00082
00083
protected:
00084 vtkImageGaussianSmooth();
00085 ~vtkImageGaussianSmooth();
00086
00087 int Dimensionality;
00088 float StandardDeviations[3];
00089 float RadiusFactors[3];
00090
00091
void ComputeKernel(
double *kernel,
int min,
int max,
double std);
00092
void ComputeInputUpdateExtent(
int inExt[6],
int outExt[6]);
00093
void ExecuteAxis(
int axis,
vtkImageData *inData,
int inExt[6],
00094
vtkImageData *outData,
int outExt[6],
00095
int *pcycle,
int target,
int *pcount,
int total);
00096
void ThreadedExecute(
vtkImageData *inData,
00097
vtkImageData *outData,
int outExt[6],
int id);
00098
00099
private:
00100 vtkImageGaussianSmooth(
const vtkImageGaussianSmooth&);
00101
void operator=(
const vtkImageGaussianSmooth&);
00102 };
00103
00104
#endif
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114