Imaging/vtkImageNonMaximumSuppression.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkImageNonMaximumSuppression_h
00030 #define __vtkImageNonMaximumSuppression_h
00031
00032 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_MAGNITUDE_INPUT 0
00033 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_VECTOR_INPUT 1
00034
00035 #include "vtkImageTwoInputFilter.h"
00036
00037 class VTK_IMAGING_EXPORT vtkImageNonMaximumSuppression : public vtkImageTwoInputFilter
00038 {
00039 public:
00040 static vtkImageNonMaximumSuppression *New();
00041 vtkTypeRevisionMacro(vtkImageNonMaximumSuppression,vtkImageTwoInputFilter);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045
00046 void SetMagnitudeInput(vtkImageData *input) {this->SetInput1(input);};
00047 void SetVectorInput(vtkImageData *input) {this->SetInput2(input);};
00049
00051
00053 vtkSetMacro(HandleBoundaries, int);
00054 vtkGetMacro(HandleBoundaries, int);
00055 vtkBooleanMacro(HandleBoundaries, int);
00057
00059
00061 vtkSetClampMacro(Dimensionality,int,2,3);
00062 vtkGetMacro(Dimensionality,int);
00064
00065 protected:
00066 vtkImageNonMaximumSuppression();
00067 ~vtkImageNonMaximumSuppression() {};
00068
00069 int HandleBoundaries;
00070 int Dimensionality;
00071
00072 void ExecuteInformation(vtkImageData **inDatas, vtkImageData *outData);
00073 virtual void ComputeInputUpdateExtent(int inExt[6], int outExt[6],
00074 int whichInput);
00075 void ExecuteInformation(){this->vtkImageTwoInputFilter::ExecuteInformation();};
00076 void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00077 int extent[6], int id);
00078
00079 private:
00080 vtkImageNonMaximumSuppression(const vtkImageNonMaximumSuppression&);
00081 void operator=(const vtkImageNonMaximumSuppression&);
00082 };
00083
00084 #endif
00085
00086
00087