L3 Info - Option Image     -     UFR IM2AG - UGA


TP5 - Visualisation de courbes/surfaces isovaleur



A faire par binôme ou individuellement.

Logiciels sous Linux : C++ / OpenGL
IMPORTANT (si vous travaillez sur les PC de l'UFR-IMAG) : pour pouvoir exécuter le programme fourni, il est nécessaire de travailler en "local" (et non pas sur votre répertoire personnel situé sur un serveur distant) :
Compte-rendu à envoyer à l'adresse e-mail   nicolas.szafran@univ-grenoble-alpes.fr   avant le 15 avril 2017
en indiquant comme sujet de l'e-mail : [L3-Info] - Image - TP5 - noms du binôme
sous forme d'un fichier PDF (code C++ ajouté/modifié, figures, commentaires, ...) .



Partie 1 - Calcul de courbes isovaleur sur slice 3D



Objectif :  Programmer l'algorithme de calcul de courbes isovaleur et l'insérer dans un programme de représentation de données volumiques par coupes (slices)





Programme initial
Ajout du tracé de courbe iso-valeur



Récupérez les fichiers nécessaires au TP : Le programme source courbes_isovaleur.cpp permet la représentation de données volumiques sous forme de 3 slices correspondant aux 3 directions principales.

Différents fichiers avec des données volumiques sont disponibles :
Fichier    sx       sy       sz       hz    format
CThead.bin 256 256 113 2.0 2
data_F1_256_256_256_1_2.bin 256 256 256 1.0 2
data_F2_256_256_256_1_2.bin 256 256 256 1.0 2
abdomen.bin 512 512 174 3.8 2
bonsai.bin 256 256 256 1.0 1
moteur.bin 256 256 128 1.0 1
pied.bin 256 256 256 1.0 1
citrouille.bin 256 256 80 3.0 1
bloc_resine.bin 301 324 56 1.4 1

Chaque fichier de données contient l'ensemble des données volumiques sous la forme de sz coupes (slices), chaque coupe étant la donnée de sx fois sy valeurs, le tout au format binaire :
hz représente le facteur d'échelle en z (distance relative entre 2 coupes consécutives).

Le programme courbes_isovaleur s'exécute avec 6 arguments dans l'ordre suivant :
1) Dans un premier temps, compilez et exécutez le programme tel quel et comprenez la structure du programme.

2) Programmez le calcul (et tracé) de courbe isovaleur dans le plan Oz (compléter la routine dessin_courbe_iso_planZ)

3) Question subsidiaire (à faire si le temps vous le permet) : complétez le programme pour calculer / tracer des courbes isovaleurs dans les deux autres plans x=Ox et y=Oy (écrire deux fonctions supplémentaires dessin_courbe_iso_planX et dessin_courbe_iso_planY).



Partie 2 - Calcul de surfaces isovaleur



Objectif :  Programmer l'algorithme de calcul de courbes isovaleur et l'insérer dans un programme de représentation de données volumiques par coupes (slices)
         


Récupérez les fichiers nécessaires au TP : Les données sont les mêmes que celles de la partie1 et le programme surfaces_isovaleur nécessite les mêmes arguments que le programme courbes_isovaleur.

Complétez la fonction calcul_surface_isovaleur afin de calculer la surface isovaleur sous forme d'une séquence de triangles.

Une fois le programme complété, testez-le avec les différents fichiers de données, et en particulier, vous chercherez ce que le bloc de résine contient.