Previous Next Up Title Contents General Index Functions Index Bookshelf

6. REPRÉSENTATION DE VOXELS


Ce chapitre présente un ensemble de fonctions permettant la visualisation de gros volumes de données. Les données sont réparties sur un parallélépipède composé de num_x * num_y * num_z cellules de bases. Les faces du parallélépipède sont considérées perpendiculaires aux axes X, Y et Z. Ces cellules appelées voxel peuvent être comparées aux pixels d'une image 2D : Un voxel n'a pas de dimension définie et il possède une valeur codée sur 8 bits. L'ensemble des valeurs du volume de voxels est stocké dans une matrice tridimensionnelle de taille num_x * num_y * num_z.

Structure de donnée

Un volume de num_x * num_y * num_z données est décrit par la structure de donnée suivante :

typedef struct {
	Pint num_x;
	Pint num_y;
	Pint num_z;
	unsigned char *data;
} Tvoxel_data; 

où data est un vecteur de num_x * num_y * num_z octets;

Le voxel d'indices (i,j,k) a pour valeur data[k + j*num_x + i*num_x*num_y].

Représentation

Un voxel de valeur V (0 <= V <= 255) est associé à une couleur selon l'association courante entre la liste des isovaleurs et la palette des couleurs du volume de voxel.

Ainsi, si Vi < V <= Vi+1 où Vi et Vi+1 sont les isovaleurs immédiatement inférieures et supérieures à V, alors le voxel est associé à la i-ième couleur de la palette de couleurs du volume de voxels.

La liste courante des isovaleurs est celle définie par le dernier appel à la fonction tset_isoval_list, tset_homog_isoval_list ou tset_regul_isoval_list. Chacune des isovaleurs de la liste doit être comprise entre 0 et 255. (remarque : les deux derniers paramètres des ces fonctions sont ignorés dans le cas de la représentation de volume de voxels).

La palette courante du volume de voxels est définie par le dernier appel à la fonction tset_voxel_colr_tab, tset_voxel_greyscale_tab ou tset_voxel_colr_rep. La palette doit comporter 1 couleur de plus que le nombre d'isovaleurs couramment défini.

Le volume de voxels est représenté par transparence selon un point de vue donné. Un coefficient de transparence est associé à tout intervalle compris entre deux isovaleurs consécutives. Ils sont compris ente 0 et 1 : Un coefficient égal à 1 correspond à une zone opaque, tandis que 0 correspond à une zone transparente. Ces coefficients de transparence sont définis par le dernier appel à la fonction tset_transparency_tab ou tset_transparency_rep. La table des coefficients de transparence doit comporter un coefficient de plus que le nombre d'isovaleurs couramment défini.

Le voxel de valeur V (avec Vi < V <= Vi+1 ) est donc associé à la i-ième couleur de la palette de couleurs et au i-ième coefficient de transparence du volume de voxels.

Le volume de voxels est représenté par une image où chaque pixel a une couleur resultant de la combinaison des couleurs et transparences associées à la liste des voxels qui sont sur l'axe de visé d'un observateur. La représentation d'un volume de voxels dépend ainsi de la définition courante d'une vue sur un poste de travail. Cette vue doit être définie par la fonction tview3_paral_y_vert ou par une vue PHIGS equivalente (vue parallèle avec l'axe Y vertical).


Previous Next Up Title Contents General Index Functions Index Bookshelf