00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00029 #ifndef __vtkImageLaplacian_h
00030 #define __vtkImageLaplacian_h
00031 
00032 
00033 #include "vtkThreadedImageAlgorithm.h"
00034 
00035 class VTK_IMAGING_EXPORT vtkImageLaplacian : public vtkThreadedImageAlgorithm
00036 {
00037 public:
00038   static vtkImageLaplacian *New();
00039   vtkTypeMacro(vtkImageLaplacian,vtkThreadedImageAlgorithm);
00040   void PrintSelf(ostream& os, vtkIndent indent);
00041 
00043 
00044   vtkSetClampMacro(Dimensionality,int,2,3);
00045   vtkGetMacro(Dimensionality,int);
00047 
00048 protected:
00049   vtkImageLaplacian();
00050   ~vtkImageLaplacian() {};
00051 
00052   int Dimensionality;
00053 
00054   virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **,
00055     vtkInformationVector *);
00056   void ThreadedRequestData(vtkInformation *request,
00057                            vtkInformationVector **inputVector,
00058                            vtkInformationVector *outputVector,
00059                            vtkImageData ***inData, vtkImageData **outData,
00060                            int outExt[6], int id);
00061 
00062 private:
00063   vtkImageLaplacian(const vtkImageLaplacian&);  
00064   void operator=(const vtkImageLaplacian&);  
00065 };
00066 
00067 #endif
00068 
00069 
00070