leval_volume.c File Reference

#include "eval_volume.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>

Include dependency graph for leval_volume.c:

Go to the source code of this file.

eval_volume

Author:
L. Valet
Version:
1 (22.11.06)
See also:


#define ETMAX   17000000
#define ABSOL(x, y)   (((x) > (y))? abs(x-y) : abs(y-x))
#define MAX(x, y)   (((x)>(y))? (x):(y))
#define MIN(x, y)   (((x)<(y))? (x):(y))
#define MIN3(x, y, z)   ( ( ((x)<(y))&&((x)<(z)) )?(x):( ( ((x)>(y))&&((y)<(z)) )?y:z ) )
#define VRAI   1
#define FAUX   0
typedef char booleen

Functions

eval_volume_lect
lecture des parametres de l'operateur eval_volume. \

Parameters:
des pointeur vers le descripteur de cet opérateur
ptp pointeur sur parametre courant deja alloue,
debq pointeur de chaine de caracteres placee en debut de question
Returns:
renvoie nouveau pointeur de parametre deja alloue (pour la suite)
Author:
L.Valet
Version:
1 (22.11.06); Include : eval_volume.h


param * eval_volume_lect (eval_volume_t *des, param *ptp, char *debq)
eval_volume_init
Initialisation de l'operateur eval_volume .\ Cette fonction va allouer l'image des étiquettes qui servira a stocker les étiquettes entre l'étape d'étiquetage et celle de réétiquetage.

L'image des étiquettes est une image de type ima3Du8. Cela signifie que les voxels de l'image sont codés dans unsigned long int c'est a dire 8octets sur une machine avec une architecture 64bits et 4 octets sur une machine 32bits

Parameters:
des pointeur descripteur
imaIn image initiale (taille connue)
imres pointeur sur une structure deja allouée pour l'image des étiquettes
Author:
L. Valet
Version:
1 (22.11.06); Include : eval_volume.h


int eval_volume_init (eval_volume_t *des, ima3Du1 *imaIn)
unsigned long int eval_equivalence_2_label (unsigned long int *pt_etiq, unsigned long int a, unsigned long int b)
unsigned long int eval_equivalence_3_label (unsigned long int *pt_etiq, unsigned long int a, unsigned long int b, unsigned long int c)
void eval_label_management (unsigned char cas, unsigned long int haut, unsigned long int gauche, unsigned long int avant, unsigned long int *courant, unsigned long int *pt_etiq, unsigned long int *nb_etiq)
void eval_reetiquetage (ima3Du1 *ima_ori, ima3Du8 *ima_etiq, unsigned long int *pt_etiq, unsigned long int *pt_nb_etiq, unsigned long int *pt_nb_real_etiq)
void eval_etiquetage_strict (ima3Du1 *ima_in, ima3Du8 *ima_etiq, unsigned char classe, unsigned long int *pt_nb_etiq, unsigned long int *nb_real_etiq)
int calcul_vol_objets (eval_volume_t *des, const char *filename, unsigned long int nb_objet)
int calcul_attributs_objets (eval_volume_t *des, const char *filename, unsigned long int nb_objet)
median3d_calc
Calcul de l'operateur eval_volume.\ Calcul du resultat de l'operateur eval_volume\ www.ulib.org/webRoor/Books/Numerical_Recipes/

Parameters:
du pointeur descripteur
im0 image initiale
imres pointeur image resultat
Author:
G. Marinescu
Version:
1 (01.04.03); Include : median3d.h


int eval_volume_calc (eval_volume_t *des, ima3Du1 *imaIn)
int eval_volume_ferm (eval_volume_t *des)


Define Documentation

#define ABSOL ( x,
 )     (((x) > (y))? abs(x-y) : abs(y-x))

Definition at line 46 of file leval_volume.c.

Referenced by etiquetage().

#define ETMAX   17000000

Definition at line 44 of file leval_volume.c.

Referenced by etiquetage(), eval_etiquetage_strict(), eval_label_management(), and label_management().

#define FAUX   0

Definition at line 51 of file leval_volume.c.

Referenced by calcul_attributs_objets().

#define MAX ( x,
 )     (((x)>(y))? (x):(y))

Definition at line 47 of file leval_volume.c.

Referenced by main().

#define MIN ( x,
 )     (((x)<(y))? (x):(y))

Definition at line 48 of file leval_volume.c.

Referenced by equivalence_2_label(), and eval_equivalence_2_label().

#define MIN3 ( x,
y,
 )     ( ( ((x)<(y))&&((x)<(z)) )?(x):( ( ((x)>(y))&&((y)<(z)) )?y:z ) )

Definition at line 49 of file leval_volume.c.

Referenced by equivalence_3_label(), and eval_equivalence_3_label().

#define VRAI   1

Definition at line 50 of file leval_volume.c.

Referenced by calcul_attributs_objets().


Typedef Documentation

typedef char booleen

Definition at line 53 of file leval_volume.c.


Function Documentation

int calcul_attributs_objets ( eval_volume_t des,
const char *  filename,
unsigned long int  nb_objet 
)

Definition at line 877 of file leval_volume.c.

References ima3Du8::data, ima3Du8::dimx, ima3Du8::dimy, ima3Du8::dimz, FAUX, eval_volume_t::ima_etiq, and VRAI.

Referenced by eval_volume_calc().

int calcul_vol_objets ( eval_volume_t des,
const char *  filename,
unsigned long int  nb_objet 
)

Definition at line 796 of file leval_volume.c.

References ima3Du8::data, ima3Du8::dimx, ima3Du8::dimy, ima3Du8::dimz, and eval_volume_t::ima_etiq.

unsigned long int eval_equivalence_2_label ( unsigned long int *  pt_etiq,
unsigned long int  a,
unsigned long int  b 
)

Definition at line 142 of file leval_volume.c.

References MIN.

Referenced by eval_label_management().

unsigned long int eval_equivalence_3_label ( unsigned long int *  pt_etiq,
unsigned long int  a,
unsigned long int  b,
unsigned long int  c 
)

Definition at line 178 of file leval_volume.c.

References MIN3.

Referenced by eval_label_management().

void eval_etiquetage_strict ( ima3Du1 ima_in,
ima3Du8 ima_etiq,
unsigned char  classe,
unsigned long int *  pt_nb_etiq,
unsigned long int *  nb_real_etiq 
)

Definition at line 550 of file leval_volume.c.

References ima3Du8::data, ima3Du1::data, ima3Du1::dimx, ima3Du1::dimy, ima3Du1::dimz, ETMAX, eval_label_management(), and eval_reetiquetage().

Referenced by eval_volume_calc().

void eval_label_management ( unsigned char  cas,
unsigned long int  haut,
unsigned long int  gauche,
unsigned long int  avant,
unsigned long int *  courant,
unsigned long int *  pt_etiq,
unsigned long int *  nb_etiq 
)

Definition at line 307 of file leval_volume.c.

References ETMAX, eval_equivalence_2_label(), and eval_equivalence_3_label().

Referenced by eval_etiquetage_strict().

void eval_reetiquetage ( ima3Du1 ima_ori,
ima3Du8 ima_etiq,
unsigned long int *  pt_etiq,
unsigned long int *  pt_nb_etiq,
unsigned long int *  pt_nb_real_etiq 
)

Definition at line 413 of file leval_volume.c.

References ima3Du8::data, ima3Du8::dimx, ima3Du8::dimy, and ima3Du8::dimz.

Referenced by eval_etiquetage_strict().

int eval_volume_calc ( eval_volume_t des,
ima3Du1 imaIn 
)

Definition at line 973 of file leval_volume.c.

int eval_volume_ferm ( eval_volume_t des  ) 

Definition at line 991 of file leval_volume.c.

int eval_volume_init ( eval_volume_t des,
ima3Du1 imaIn 
)

Definition at line 98 of file leval_volume.c.

param* eval_volume_lect ( eval_volume_t des,
param *  ptp,
char *  debq 
)

Definition at line 67 of file leval_volume.c.


Generated on Tue Apr 22 13:31:07 2008 for volume by  doxygen 1.5.3