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