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