segmentation
All Data Structures Namespaces Files Functions Variables Modules Pages
RAList.h
1 /*******************************************************
2 
3  Mean Shift Analysis Library
4  =============================================
5 
6  The mean shift library is a collection of routines
7  that use the mean shift algorithm. Using this algorithm,
8  the necessary output will be generated needed
9  to analyze a given input set of data.
10 
11  Region Adjacency List:
12  =====================
13 
14  The Region Adjacency List class is used by the Image
15  Processor class in the construction of a Region Adjacency
16  Matrix, used by this class to applying transitive closure
17  and to prune spurious regions during image segmentation.
18 
19  The prototype for the RAList class is provided below. Its
20  defition is provided in "RAList.cc".
21 
22 The theory is described in the papers:
23 
24  D. Comaniciu, P. Meer: Mean Shift: A robust approach toward feature
25  space analysis.
26 
27  C. Christoudias, B. Georgescu, P. Meer: Synergism in low level vision.
28 
29 and they are is available at:
30  http://www.caip.rutgers.edu/riul/research/papers/
31 
32 Implemented by Chris M. Christoudias, Bogdan Georgescu
33 ********************************************************/
34 
35 #ifndef RALIST_H
36 #define RALIST_H
37 
38 //define Region Adjacency List class prototype
39 class RAList {
40 
41 public:
42 
43  //============================
44  // *** Public Data Members ***
45  //============================
46 
48  int label;
49 
51  float edgeStrength;
52  int edgePixelCount;
53 
55  RAList *next;
56 
57  //=======================
58  // *** Public Methods ***
59  //=======================
60 
61  /*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/
62  /* Class Constructor and Destructor */
63  /*\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/*/
64 
65  //***Class Constrcutor***
66  RAList( void );
67 
68  //***Class Destructor***
69  ~RAList( void );
70 
71  /*/\/\/\/\/\/\/\/\/\/\/\/\*/
72  /* RAM List Manipulation */
73  /*\/\/\/\/\/\/\/\/\/\/\/\/*/
74 
75  //Usage: Insert(entry)
76  int Insert(RAList*); //Insert a region node into the region adjecency list
77 
78 private:
79 
80  //=============================
81  // *** Private Data Members ***
82  //=============================
83 
85  RAList *cur, *prev;
86 
88  unsigned char exists;
89 
90 };
91 
92 #endif