vtkImageNonMaximumSuppression.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkImageNonMaximumSuppression_h
00041 #define __vtkImageNonMaximumSuppression_h
00042
00043 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_MAGNITUDE_INPUT 0
00044 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_VECTOR_INPUT 1
00045
00046 #include "vtkImageTwoInputFilter.h"
00047
00048 class VTK_IMAGING_EXPORT vtkImageNonMaximumSuppression : public vtkImageTwoInputFilter
00049 {
00050 public:
00051 static vtkImageNonMaximumSuppression *New();
00052 vtkTypeRevisionMacro(vtkImageNonMaximumSuppression,vtkImageTwoInputFilter);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00056
00057 void SetMagnitudeInput(vtkImageData *input) {this->SetInput1(input);};
00058 void SetVectorInput(vtkImageData *input) {this->SetInput2(input);};
00060
00062
00064 vtkSetMacro(HandleBoundaries, int);
00065 vtkGetMacro(HandleBoundaries, int);
00066 vtkBooleanMacro(HandleBoundaries, int);
00068
00070
00072 vtkSetClampMacro(Dimensionality,int,2,3);
00073 vtkGetMacro(Dimensionality,int);
00075
00076 protected:
00077 vtkImageNonMaximumSuppression();
00078 ~vtkImageNonMaximumSuppression() {};
00079
00080 int HandleBoundaries;
00081 int Dimensionality;
00082
00083 void ExecuteInformation(vtkImageData **inDatas, vtkImageData *outData);
00084 virtual void ComputeInputUpdateExtent(int inExt[6], int outExt[6],
00085 int whichInput);
00086 void ExecuteInformation(){this->vtkImageTwoInputFilter::ExecuteInformation();};
00087 void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00088 int extent[6], int id);
00089
00090 private:
00091 vtkImageNonMaximumSuppression(const vtkImageNonMaximumSuppression&);
00092 void operator=(const vtkImageNonMaximumSuppression&);
00093 };
00094
00095 #endif
00096
00097
00098