00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkImageVariance3D_h
00030 #define __vtkImageVariance3D_h
00031
00032
00033 #include "vtkImageSpatialAlgorithm.h"
00034
00035 class vtkImageEllipsoidSource;
00036
00037 class VTK_IMAGING_EXPORT vtkImageVariance3D : public vtkImageSpatialAlgorithm
00038 {
00039 public:
00040 static vtkImageVariance3D *New();
00041 vtkTypeMacro(vtkImageVariance3D,vtkImageSpatialAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00047 void SetKernelSize(int size0, int size1, int size2);
00048
00049 protected:
00050 vtkImageVariance3D();
00051 ~vtkImageVariance3D();
00052
00053 vtkImageEllipsoidSource *Ellipse;
00054
00055 virtual int RequestInformation (vtkInformation *request,
00056 vtkInformationVector **inputVector,
00057 vtkInformationVector *outputVector);
00058
00059 void ThreadedRequestData(vtkInformation *request,
00060 vtkInformationVector **inputVector,
00061 vtkInformationVector *outputVector,
00062 vtkImageData ***inData, vtkImageData **outData,
00063 int extent[6], int id);
00064 virtual int RequestData(vtkInformation *request,
00065 vtkInformationVector **inputVector,
00066 vtkInformationVector *outputVector);
00067
00068 private:
00069 vtkImageVariance3D(const vtkImageVariance3D&);
00070 void operator=(const vtkImageVariance3D&);
00071 };
00072
00073 #endif