class line_sets;
/**
* Regroupement des lignes de pics en sous-ensembles
*
* @short Regroupement des lignes de pics en sous-ensembles
* @author G.Garcia (source cpp Philippe Chose)
* @version 7
*/
class line_sets
{
public:
/**
* Tableau des ensembles de lignes de pics
*/
tab* line_set;
/**
* Sous-ensemble optimal
*/
tab* opt_line_subset;
private:
/**
* Tableau indiquant les lignes de pics activées dans le sous-ensemble courant
*/
int* on;
/**
* Tableau contenant les fils d'une ligne donnée c'est à dire les lignes ayant des pics en commun
*/
tab* child;
/**
* Tableau contenant les peres d'une ligne donnée (cf @ref line_sets::child )
*/
tab* parent;
/**
* Tableau temporaire de stockage
*/
tab* aux_line_subset;
/**
* Nombre maximal de
*/
int maxNbLinks;
/**
* Nombre maximal de
*/
int maxNbLines;
/**
*
*/
int window;
public:
/**
* Constructeur
*
* @param window taille de la fenêtre d'analyse HMM
* @param maxNbLines nombre maximal de lignes de pics dans la même fenêtre d'analyse
* @param maxNbLinks nombre maximal de lignes de pics dans un même sous-ensemble de lignes
*/
line_sets(int window, int maxNbLines, int maxNbLinks);
/**
* Destructeur
*/
~line_sets();
/**
* Recherche du sous-ensemble optimal dun ensemble de lignes
*
* @param index indice du sous-ensemble de lignes à optimiser
* @param gain tableau des scores des lignes de pics
*/
void find_opt_line_subset(int index, float *gain);
/**
* Recherche du premier parent allumé
*
* @return numéro de la première ligne parente allumée
* @param shift indice du premier élément du sous-ensemble
* @param set_size taille du sous-ensemble
*/
int first_parent_on(int shift, int set_size );
/**
* Fonction de regroupement des lignes de pics
*
* @param lines_instance instance de la classe lines contenant les données sur les lignes
* @param line_size
* @param viterbi 1 si on veut utiliser l'option viterbi, 0 sinon.
*/
void find_line_sets(lines* lines_instance, int viterbi);
/**
* Détecte une différence entre deux lignes de pics
*
* @return -1 si les lignes ont un pic en commun, 1 sinon.
* @param line tableau des lignes
* @param i indice de la première ligne
* @param j indice de la seconde ligne
*/
int compare_lines(int** line, int i, int j);
};
| Generated by: chose@josquin on Wed Nov 10 20:55:59 199. |