Page principale   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Composants   Déclarations   Pages associées  

Référence du fichier interpolation.h

fichier d'en tete des fonctions principales du programme. Plus de détails...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
#include <inrimage/image.h>
#include <inrimage/error.h>
#include "utils.h"
#include "inricache.h"

Aller au code source de ce fichier.

Fonctions

void plan2volcal (char *s2D, char *d2D, char *s3D, char *d3D, float x_pas, float y_pas, int x, int y, int z, int x0, int y0, float min2D, float max2D, int taille_cache, int time_flag)
 calcule les images en 3D induites par les images en 2D fournies

void gradients3D (char *img, char *gx, char *gy, char *gz, int rayon, double sigma, int taille_cache, int time_flag)
 calcule les gradients en x, y, et z d'une image donnee en entree, dans les fichiers img.gx, img.gy, img.gz, a moins que ne soit explicitement demandee l'omission du calcul d'une composante. On peut preciser le rayon du filtre gaussien utilise pour le calcul ainsi que la valeur de sigma desiree.

void courbure (char *imgSrc, char *imgDest, int rho, double sigma, int taille_cache, int time_flag)
 calcule la courbure moyenne a une surface en utilisant des gradients calcules avec un filtre gaussien.

void calculW (char *distSrc, char *distDest, char *kmSrc, char *kmDest, char *tempoW, int taille_cache, int time_flag)
 calcule l'hypersurface de cout sur laquelle reposent les surfaces sources et destination, en fonction de la courbure moyenne aux surfaces

void g3Dc (char *distSrc, char *tempoW, char *distGeod, int nb_iter, float ptTau, int taille_cache, int time_flag)
 calcule la distance geodesique d'une image source a une image destination le long d'une hypersurface

void dist2isosurf (char *distances, char *famille, float marge, int nb_fam, int time_flag)
 permet de passer d'un fichier de distances a une famille d'isosurfaces

char ** separation (struct image *img_distances, struct nf_fmt gfmt_in, struct nf_fmt *gfmt_out, float marge, int nb_fam, int *nv_zero, int time_flag)
 fonction lisant l'image img_distances pour la convertir en famille d'isosurfaces dans famille

void visualisation (char **noms_image, int nb_images, char *texture2D, int texture_flag, int time_flag, int repere_flag, int fil_de_fer_flag, int nbSubdivmax, int nb_voulu, float marge, int argc, char **argv)
 permet la visualisation d'une surface, voire d'une famille de surfaces


Description détaillée

fichier d'en tete des fonctions principales du programme.

Auteur:
Nguyen Matthieu
Date:
05 aout 2003
Contient les renseignements sur toutes les fonctions intermediaires du programme servant a effectuer l'interpolation. Ces fonctions utilisent la librairie Inrimage.

Définition dans le fichier interpolation.h.


Documentation de la fonction

void calculW char *    distSrc,
char *    distDest,
char *    kmSrc,
char *    kmDest,
char *    tempoW,
int    taille_cache,
int    time_flag
 

calcule l'hypersurface de cout sur laquelle reposent les surfaces sources et destination, en fonction de la courbure moyenne aux surfaces

Paramètres:
distSrc  le nom de l'image de distances euclidienne source
distDest  le nom de l'image de distances euclidienne destination
kmSrc  le nom de l'image contenant la courbure moyenne a la surface source
kmDest  le nom de l'image contenant la courbure moyenne a la surface destination
tempoW  l'Hypersurface de cout pour distSrc et distDest
taille_cache  la taille desiree pour le cache
time_flag  le drapeau pour le chronometrage

void courbure char *    imgSrc,
char *    imgDest,
int    rho,
double    sigma,
int    taille_cache,
int    time_flag
 

calcule la courbure moyenne a une surface en utilisant des gradients calcules avec un filtre gaussien.

Paramètres:
imgSrc  le nom de l'image d'entree
imgDest  le nom de l'image de sortie
rho  le parametre pour le calcul du filtre gaussien
sigma  le parametre pour le calcul du filtre gaussien
taille_cache  la taille desiree pour le cache
time_flag  le drapeau pour le chronometrage
Avertissement:
on utilise les variables temporaires imgSrc.gx imgSrc.gy imgSrc.gz imgSrc.gx.gx imgSrc.gx.gy imgSrc.gx.gz imgSrc.gy.gy imgsrc.gy.gz imgSrc.gz.gz et on les supprime a la fin, il faut bien verifier que si ces fichiers existent deja, ils ne contiennent rien d'important, car les donnees seront perdues.

void dist2isosurf char *    distances,
char *    famille,
float    marge,
int    nb_fam,
int    time_flag
 

permet de passer d'un fichier de distances a une famille d'isosurfaces

Paramètres:
distances  nom du fichier de distances
famille  nom du fichier destination pour la famille d'isosurfaces
marge  une marge d'erreur pour le calcul des isosurfaces.
nb_fam  le nombre de surfaces desiree pour la famille
time_flag  drapeau permettant d'activer le chronometrage de l'execution
Voir également:
separation
À Faire:
implementer la gestion d'images codees sur 2 octets

Définition à la ligne 33 du fichier dist2isosurf_.c.

Références dist2isosurf(), et separation().

Référencé par dist2isosurf().

void g3Dc char *    distSrc,
char *    tempoW,
char *    distGeod,
int    nb_iter,
float    ptTau,
int    taille_cache,
int    time_flag
 

calcule la distance geodesique d'une image source a une image destination le long d'une hypersurface

Paramètres:
distSrc  le nom de l'image de distances euclidienne source
tempoW  l'Hypersurface de cout pour distSrc et distDest
distGeod  le nom de l'image de distances geodesiques
nb_iter  le nombre d'iterations demandées pour le calcul
ptTau  le pas de discretisation temporelle
taille_cache  la taille du cache en nombre de plans par images
time_flag  le drapeau pour le chronometrage

Définition à la ligne 35 du fichier G3DC_.c.

Références g3Dc(), et inricache_::lfmt.

Référencé par g3Dc().

void gradients3D char *    img,
char *    gx,
char *    gy,
char *    gz,
int    rho,
double    sigma,
int    taille_cache,
int    time_flag
 

calcule les gradients en x, y, et z d'une image donnee en entree, dans les fichiers img.gx, img.gy, img.gz, a moins que ne soit explicitement demandee l'omission du calcul d'une composante. On peut preciser le rayon du filtre gaussien utilise pour le calcul ainsi que la valeur de sigma desiree.

Paramètres:
img  le nom de l'image d'entree
gx  le nom de l'image contenant le gradient en x
gy  le nom de l'image contenant le gradient en y
gz  le nom de l'image contenant le gradient en z
rho  le parametre pour le calcul du filtre gaussien
sigma  le parametre pour le calcul du filtre gaussien
taille_cache  la taille desiree pour le cache
time_flag  le drapeau pour le chronometrage

void plan2volcal char *    s2D,
char *    d2D,
char *    s3D,
char *    d3D,
float    x_pas,
float    y_pas,
int    x,
int    y,
int    z,
int    x0,
int    y0,
float    min2D,
float    max2D,
int    taille_cache,
int    time_flag
 

calcule les images en 3D induites par les images en 2D fournies

Paramètres:
s2D  nom du fichier source en niveau de gris
d2D  nom du fichier destination en niveau de gris
s3D  nom du fichier 3D correspondant a s2D
d3D  nom du fichier 3D correspondant a d2D
x_pas  le pas en x du sous-echantillonage
y_pas  le pas en y du sous-echantillonage
x  largeur des images de sortie
y  longueur des images de sortie
z  hauteur des images de sortie
x0  offset en x a partir duquel on sous-echantillonne s2D et d2D
y0  offset en y a partir duquel on sous-echantillonne s2D et d2D
min2D  valeur de min que l'on peut imposer pour la normalisation
max2D  valeur de max que l'on peut imposer pour la normalisation
taille_cache  la taille desiree pour le cache
time_flag  drapeau permettant d'activer le chronometrage de l'execution
Les parametres de dimension sont prioritaires par rapport aux pas donne. Les extrema imposes ne sont pris en compte que dans la mesure ou toutes les valeurs des images sont comprises entre min2D et max2D. time_flag est le niveau de profondeur demande pour le chronometrage.

Définition à la ligne 41 du fichier plan2volcal_.c.

Références plan2volcal().

Référencé par plan2volcal().

char ** separation struct image *    img_distances,
struct nf_fmt    gfmt_in,
struct nf_fmt *    gfmt_out,
float    marge,
int    nb_fam,
int *    nv_zero,
int    time_flag
 

fonction lisant l'image img_distances pour la convertir en famille d'isosurfaces dans famille

Paramètres:
img_distances  le fichier de distances
gfmt_in  la structure de format d'img_distances
gfmt_out  le format de l'image de sortie
marge  une marge d'erreur pour le calcul des isosurfaces.
nb_fam  le nombre de surfaces desiree pour la famille
nv_zero  l'indice dans le tableau de l'isosurface de niveau zero
time_flag  drapeau permettant d'activer le chronometrage de l'execution
Renvoie:
la famille de surfaces demandee
Avertissement:
l'allocation de la famille de retour se fait a l'interieur de la fonction
À Faire:
implementer la gestion d'images codees sur 2 octets

Définition à la ligne 121 du fichier dist2isosurf_.c.

Références separation().

Référencé par dist2isosurf(), et separation().

void visualisation char **    noms_image,
int    nb_images,
char *    texture2D,
int    texture_flag,
int    time_flag,
int    repere_flag,
int    fil_de_fer_flag,
int    nbSubdivmax,
int    nb_voulu,
float    marge,
int    argc,
char **    argv
 

permet la visualisation d'une surface, voire d'une famille de surfaces

Paramètres:
noms_image  tableau de noms d'images a visualiser...
nb_images  le nombre d'images a visualiser
texture2D  le nom du fichier de textures a envoyer si necessaire
texture_flag  drapeau permettant de plaquer une texture sur l'image
time_flag  drapeau permettant d'activer le chronometrage de l'execution
repere_flag  drapeau demandant l'affichage du repere
fil_de_fer_flag  drapeau demandant l'affichage en mode fil de fer
nbSubdivmax  le nombre de subdivisions maximum demande
nb_voulu  le nombre d'isosurfaces demandees
marge  la marge d'erreur demandee pour le calcul des isosurfaces.
argc,argv  parametres en ligne de commande a transmettre a glutInit
Avertissement:
cette fonction influe sur toutes les variables globales definies dans le fichier GLvis_.c

Définition à la ligne 150 du fichier GLvis_.c.

Références afficheRepere, chargeImage(), creeLampes(), creeRepere(), creeTerrain(), initGL(), modePlein, nb_terrains, nbSubdiv_max, terrain_courant, time_flag_level, et visualisation().

Référencé par visualisation().


Généré le Mon Nov 3 11:50:10 2003 par doxygen1.2.18