logo TELECOM-ParisTech
 
         



Généralités sur la plateforme TIILAB (version V1.2 du 20 août 2018)

L'objectif de cette plateforme multilangage est d'aider à la manipulation d'images au format Télécom ParisTech. Ce format, défini à Télécom ParisTech dans les années 80 et largement imité dans certaines entreprises à l'époque, présente un certain nombre d'avantages qui en ont assuré la pérennité : Cette philosophie de format a été étendue à des images volumiques multiacquisitions : c'est celle de la plateforme TIVOLI (Traitement d'Images VOLumIques), ainsi qu'à des formats extrêment variés en imagerie Radar (avec un visualisateur spécifique : Xima, qui est aussi compatible avec les formats Tivoli).

Une description plus complète de ces formats est fournie dans le document suivant : tiilab.pdf
Les codes, les exemples et trois images test sont disponibles ici


Les outils de lecture des images TII

Stricto sensu, le format Tivoli/xima ne pose pas de problème de lecture et d'écriture, à ceci près qu'à travers les décennies, il s'est enrichit de diverses variantes (format des données) et s'est enrichi pour permettre un passage en les plateformes du monde Sun (ou plutot liées à l'architecture Motorola, le "big endian") et celles du monde des PC (ou plutôt liées à l'architecture Intel, le "small endian").
Aussi, pour permettre une mise en main plus rapide de ces images, nous proposons un certain nombre d'outils permettant de charger une image quelconque dans un type unique : un tableau de float.

L'outil de base, imz2mat, a été développé dans les langages suivants : Pour les quatre premiers, une commande, visusar, permet la visualisation du tableau récupéré (visualisation volontairement la plus rustique possible afin de rester dans les distributions de base de ces langages) avec quelques caractéristiques spécifiques à l'imagerie RSO. Pour le C, il n'y a pas de visualisateur (voir les outils xima si besoin)
Dans le cas d'images uniques (monocanal), pour un exemple basique (fichier lena.ima) l'utilisation s'effectue ainsi :
A=imz2mat("lena.ima");
visusar(A)
A=imz2mat("lena.ima");
visusar(A)
FichierXima testfile;
testfile = new FichierXima();
testfile.imz2mat("lena.ima");
VisuSar visutii;
visutii = new VisuSar();
visutii.visusar( testfile)
float *tabima;
int ncol, nlig;
tabima = tiilab_imz2mat( "lena.ima", &ncol, &nlig, NULL);

Visusar : pour visualiser des images TII

La philosophie visusar est initialement dédiée à des images RSO 16 bits, mais peut être utile aussi dans le cas d'images à forte dynamique codées sur 16 bits (images Pléïades, GéoEyes,...). Après calcul du min, du max et de l'écart type, un seuil est proposé, égal par défaut à "valeur moyenne + 3 écart type" Cette valeur de 3 est très utilisée en imagerie radar : elle sera prise par défaut par les visusar. On peut fixer ce seuil à n'importe quelle valeur positive : le choix d'une valeur nulle ignorera le test et l'image sera affichée en pleine résolution radiométrique (la valeur min en noir, la valeur max en blanc).
En Matlab, pour fixer le seuil à 2.3, il suffit d'écrire :
A=imz2mat("lena.ima");
visusar(A,2.3)
La méthode est identique dans les autres cas (Scilab et Python).


Ecriture d'images TII

Uniquement sous Matlab et Python est proposée la procédure imz2mat. Elle permet d'archiver dans un format TII des tableaux à deux dimensions (images) ou à trois dimensions (pile d'images).
  • En Matlab, il suffit d'écrire :
mat2imz(A,"sortie");
la procédure choisissant automatiquement l'extension en fonction du type du tableau. Par simplification, le format est en little endian