#include "classifier.h"
#include "image.h"
#include "proto2D.h"
#include "fuzzy_c_means.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <ctype.h>
Go to the source code of this file.
Defines | |
#define | ABS(X) ((X)<0?-(X):(X)) |
Functions | |
char * | Calloc (unsigned nelem, unsigned elsize) |
void | calcul_coeff_appartenance (fuzzy_c_means_t *fcm, data_input dataI, data_output *dataO) |
void | calcul_centroides (fuzzy_c_means_t *fcm, data_input dataI, data_output *dataO) |
void | init_coeff_appartenance (fuzzy_c_means_t *fcm, data_input dataI, data_output *dataO) |
Opérateur | |
Cet opérateur de classification (algorithme proposé par Bezdek en 1984), permet de classifier des données de façon automatique, sans apprentissage. C'est une méthode qui utilise le partitionnement itératif d'ensemble de données. Il prend pour cela des données formatées en input_data en entrée et ressort, en fonction des paramètres rentrés par l'utilisateur lors de la lecture de l'opérateur, des données de type output_data. | |
param * | fuzzy_c_means_lect (fuzzy_c_means_t *fcm, param *ptp, char *debq) |
Fonction lisant les paramètres de l'opérateur fcm. | |
int | fuzzy_c_means_init (fuzzy_c_means_t *fcm, data_input dataI, data_output *dataO) |
Fonction initialisant l'opérateur fcm. | |
int | fuzzy_c_means_calc (fuzzy_c_means_t *fcm, data_input dataI, data_output *dataO) |
Fonction calculant le resultat de l'opérateur fcm. |
#define ABS | ( | X | ) | ((X)<0?-(X):(X)) |
Definition at line 50 of file lfuzzy_c_means.c.
Referenced by calcul_coeff_appartenance(), and init_coeff_appartenance().
void calcul_centroides | ( | fuzzy_c_means_t * | fcm, | |
data_input | dataI, | |||
data_output * | dataO | |||
) |
void calcul_coeff_appartenance | ( | fuzzy_c_means_t * | fcm, | |
data_input | dataI, | |||
data_output * | dataO | |||
) |
char* Calloc | ( | unsigned | nelem, | |
unsigned | elsize | |||
) |
Definition at line 253 of file lfuzzy_c_means.c.
Referenced by fuzzy_c_means_init(), and init_coeff_appartenance().
int fuzzy_c_means_calc | ( | fuzzy_c_means_t * | fcm, | |
data_input | dataI, | |||
data_output * | dataO | |||
) |
Fonction calculant le resultat de l'opérateur fcm.
Calcul le degré d'appartenance à chaque classe en fonction des centroides.
Il recommence l'opération tant que le résultat ne se trouve pas en dessous d'un seuil fixé par l'utilisateur.
fcm | pointeur descripteur | |
dataI | structure contenant les données d'entrée | |
dataO | pointeur sur la structure contenant les données de sortie |
Definition at line 194 of file lfuzzy_c_means.c.
int fuzzy_c_means_init | ( | fuzzy_c_means_t * | fcm, | |
data_input | dataI, | |||
data_output * | dataO | |||
) |
Fonction initialisant l'opérateur fcm.
Initialisation dans la structure de sortie:
Allocation de la matrice contenant les centoïdes
fcm | pointeur descripteur | |
dataI | structure contenant les données d'entrée | |
dataO | pointeur sur la structure contenant les données de sortie |
Definition at line 149 of file lfuzzy_c_means.c.
param* fuzzy_c_means_lect | ( | fuzzy_c_means_t * | fcm, | |
param * | ptp, | |||
char * | debq | |||
) |
Fonction lisant les paramètres de l'opérateur fcm.
Lecture des paramètres de l'opérateur fcm:
fcm | pointeur descripteur | |
ptp | pointeur sur paramètre courant déjà alloué (a lire) | |
debq | pointeur de chaîne de caractères placée en debut de question |
Definition at line 86 of file lfuzzy_c_means.c.
void init_coeff_appartenance | ( | fuzzy_c_means_t * | fcm, | |
data_input | dataI, | |||
data_output * | dataO | |||
) |