Goliat

Goliat, et maintenant, encore une autre bibliotheque d'opérateur de traitement du signal en langage objet.

"La perfection est atteinte non quand il ne reste rien à ajouter, mais quand il ne reste rien à enlever"

St-Exupéry

Son histoire

C'est une bibliothèque en traitement du signal multidimensionnel initiée par des doctorants en TI médicales qui ont n'en eu marre de coder en C/ANSI, langae de trop bas niveau qui obligeait à reécrire un grand nombre de lignes souvent similaires. Alors avant la fin de leurs thèses, ils ont décidé pour la beauté du code de faire une bibliothèque d´opérateurs objets qui soit à la fois efficace et simple d´emploi. Dans un premier temps le C++ a été envisagé mais il est clair qu'il ne repond pas parfaitement au besoin. Actuellement, on ne sait même pas quel langage utilisé, mais on devellope quand même la serie 0.1.x en C++ tout en sachant qu´on aimerait commencer la série 0.2.x dans un autre language.

La suite de son histoire

La vie étant ainsi faite, on a toujours pas trouvé le langage idéale, mais on a eu besoin à nouveau de cette bibliothèque. Initialement, le besoin était plûtot de manipuler des objets 3D, actuellement c'est plûtot des objets 2D, on va voir si ça tient la route

Le cahier des charges

Offrir un maximum de souplesse au developpeur, tout en offrant un maximum de puissance, le Saint-Graal du developpeur en bref.

Pour etre plus précis, il doit permettre de travail sur des objets le plus abstrait possible.

Plus précisement on veut pouvoir ecrire un programme aussi simple que cela pour appliquer un opérateur:

    go_3D in,out;
    in=go_loadfile("volume.3d");
    monoperateur(in,out);
    savefile(out);

Sans trop savoir si le volume sur lequel on travail est un volume 8 bits ou 16 bits ou réel etc... Mais que la fonction savefile profite bien au maximum des informations disponibles.

De plus nous aimerions que les developpeurs puissent assez facilement amene leur fonctions supplementaires sans de voir faire des exercices d'acrobatis compliqués

Documentation

Bien sur dans ce genre projet il y a quelques chose de cruciale c'est documentation. Pour l'instant rien n'a encore été décidé, mais il semblerait que utiliser DOC++ serait interessant.

La bibliothèque Gélatine

Comme on veut éviter de trop surcharger Goliat mais qu´on a quand même besoin de fonction pour afficher, on a décidé de faire une bibliothèque soeur pour l´affichage: Gélatine. Elle s'appuie complètement sur Qt. Il y a un exemple de programme finalisé et utilisable : VV.

La bibliothèque Gétékine

Comme pour Gélatine, mais avec GTK.

Chargement

N.B. sur les versions

Tant que l'on reste dans les versions 0.x.x, aucune compatibilité ascendente n´est assurée. En général par contre dans les series 0.A.x, une compatibilité est assurée. La version 1.x.x sera d´une part stable, est d´autre part on assura une compatibilité ascendente.

Voici quelques versions de Goliat:

Et voici quelques versions de Gélatine:

Plateformes testées

La bibliothèque Goliat a été testées sur les plateformes suivantes:
SGI O2 R5000, IRIX 6.3PC BeOsPC Linux
goliat-0.4.0Ok
goliat-0.3.1Ok
goliat-0.2.1Ok
goliat-0.2.0OkOk
goliat-0.1.4OkOk
gelatine-0.0.3Ok

Les personnes du projet

Liens


contact : emmanuel point dumas arobase free point france

Last modified: Sun Aug 3 22:09:35 CEST 2003