www.pudn.com > segm.rar > RAList.h


/******************************************************* 
 
                 Mean Shift Analysis Library 
	============================================= 
 
	The mean shift library is a collection of routines 
	that use the mean shift algorithm. Using this algorithm, 
	the necessary output will be generated needed 
	to analyze a given input set of data. 
 
  Region Adjacency List: 
  ===================== 
 
	The Region Adjacency List class is used by the Image  
	Processor class in the construction of a Region Adjacency 
	Matrix, used by	this class to applying transitive closure 
	and to prune spurious regions during image segmentation. 
 
	The prototype for the RAList class is provided below. Its 
	defition is provided in "RAList.cc". 
 
The theory is described in the papers: 
 
  D. Comaniciu, P. Meer: Mean Shift: A robust approach toward feature 
									 space analysis. 
 
  C. Christoudias, B. Georgescu, P. Meer: Synergism in low level vision. 
 
and they are is available at: 
  http://www.caip.rutgers.edu/riul/research/papers/ 
 
Implemented by Chris M. Christoudias, Bogdan Georgescu 
********************************************************/ 
 
#ifndef RALIST_H 
#define RALIST_H 
 
//define Region Adjacency List class prototype 
class RAList { 
 
public: 
 
	//============================ 
	// *** Public Data Members *** 
	//============================ 
 
	////////////RAM Label////////// 
	int		label; 
 
	////////////RAM Weight///////// 
	float	edgeStrength; 
	int		edgePixelCount; 
 
	////////////RAM Link/////////// 
	RAList	*next; 
 
	//======================= 
	// *** Public Methods *** 
	//======================= 
 
	/*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/ 
	/* Class Constructor and Destructor */ 
	/*\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/*/ 
 
	//***Class Constrcutor*** 
	RAList( void ); 
 
	//***Class Destructor*** 
	~RAList( void ); 
 
	/*/\/\/\/\/\/\/\/\/\/\/\/\*/ 
	/*  RAM List Manipulation */ 
	/*\/\/\/\/\/\/\/\/\/\/\/\/*/ 
 
	//Usage: Insert(entry) 
	int Insert(RAList*);		//Insert a region node into the region adjecency list 
 
private: 
 
	//============================= 
	// *** Private Data Members *** 
	//============================= 
 
	///////current and previous pointer///// 
	RAList	*cur, *prev; 
 
	////////flag/////////// 
	unsigned char exists; 
 
}; 
 
#endif