00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00050 #ifndef __vtkLinkEdgels_h
00051 #define __vtkLinkEdgels_h
00052
00053 #include "vtkPolyDataAlgorithm.h"
00054
00055 class vtkCellArray;
00056 class vtkDataArray;
00057 class vtkDoubleArray;
00058 class vtkPoints;
00059
00060 class VTK_GRAPHICS_EXPORT vtkLinkEdgels : public vtkPolyDataAlgorithm
00061 {
00062 public:
00063 vtkTypeRevisionMacro(vtkLinkEdgels,vtkPolyDataAlgorithm);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00069 static vtkLinkEdgels *New();
00070
00072
00073 vtkSetMacro(LinkThreshold,double);
00074 vtkGetMacro(LinkThreshold,double);
00076
00078
00079 vtkSetMacro(PhiThreshold,double);
00080 vtkGetMacro(PhiThreshold,double);
00082
00084
00085 vtkSetMacro(GradientThreshold,double);
00086 vtkGetMacro(GradientThreshold,double);
00088
00089 protected:
00090 vtkLinkEdgels();
00091 ~vtkLinkEdgels() {};
00092
00093 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00094 virtual int FillInputPortInformation(int port, vtkInformation *info);
00095
00096 void LinkEdgels(int xdim, int ydim,double *image, vtkDataArray *inVectors,
00097 vtkCellArray *newLines, vtkPoints *newPts,
00098 vtkDoubleArray *outScalars, vtkDoubleArray *outVectors,
00099 int z);
00100 double GradientThreshold;
00101 double PhiThreshold;
00102 double LinkThreshold;
00103 private:
00104 vtkLinkEdgels(const vtkLinkEdgels&);
00105 void operator=(const vtkLinkEdgels&);
00106 };
00107
00108 #endif