00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkImageGradientMagnitude_h
00031 #define __vtkImageGradientMagnitude_h
00032
00033
00034 #include "vtkThreadedImageAlgorithm.h"
00035
00036 class VTK_IMAGING_EXPORT vtkImageGradientMagnitude : public vtkThreadedImageAlgorithm
00037 {
00038 public:
00039 static vtkImageGradientMagnitude *New();
00040 vtkTypeRevisionMacro(vtkImageGradientMagnitude,vtkThreadedImageAlgorithm);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00046 vtkSetMacro(HandleBoundaries, int);
00047 vtkGetMacro(HandleBoundaries, int);
00048 vtkBooleanMacro(HandleBoundaries, int);
00050
00052
00053 vtkSetClampMacro(Dimensionality,int,2,3);
00054 vtkGetMacro(Dimensionality,int);
00056
00057 protected:
00058 vtkImageGradientMagnitude();
00059 ~vtkImageGradientMagnitude() {};
00060
00061 int HandleBoundaries;
00062 int Dimensionality;
00063
00064 virtual int RequestInformation (vtkInformation*,
00065 vtkInformationVector**,
00066 vtkInformationVector*);
00067 virtual int RequestUpdateExtent(vtkInformation*,
00068 vtkInformationVector**,
00069 vtkInformationVector*);
00070
00071 void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
00072 int extent[6], int id);
00073 private:
00074 vtkImageGradientMagnitude(const vtkImageGradientMagnitude&);
00075 void operator=(const vtkImageGradientMagnitude&);
00076 };
00077
00078 #endif
00079
00080
00081