Université Montpellier 2 Master Physique et Informatique
Sommaire Présentation générale Analyse de l existant Problématiques et solutions Notre travail Démonstration Evolution Conclusion
Le sujet Objet du stage: Atteindre un niveau professionnel Devenir un logiciel pédagogique Travail demandé: Refonte de l'architecture actuelle du logiciel. Offrir la modularité, la maintenabilité et la flexibilité
Les encadrants CORDONI Jean Pierre: Maître de Conférences au Laboratoire du Groupe de Recherche en Astronomie et Astrophysique du Languedoc (GRAAL). MOUGENOT Isabelle : Maître de conférences au Laboratoires d'informatique, de Robotique et de Microélectronique de Montpellier (LIRMM). REBOUL Henri : Maître de Conférences au Laboratoire du Groupe de Recherche en Astronomie et Astrophysique du Languedoc (GRAAL).
Le logiciel RISA RISA en quelques dates: RISA (Réduction d Images et de Spectres Astrophysiques) 2007 : création du logiciel par Vannak Kol, Alexandre-Florent Gonthier et Julien Horte lors de leur stage de M1 Phy-Info. 2008: Hervé Dauberton, Jenny Bravo et Julien Roupie avec encore l aide d Alexandre-Florent Gonthier. 2009: c est Mounir Bensadia, Serge-Henri Cachia et Boualam Hasnoun qui se chargent du projet. En 2010, Donia Aissa, Nicolas Glaizette et Karim Bammou ont repris un certain nombre de dysfonctionnements.
Le standard FITS Généralités FITS ou Flexible Image Transport System est le couramment utilisé en astronomie. Composition Fichier FITS Contient plusieurs extensions Conçu pour des données scientifiques Entête ASCII 1 Données binaires (image) Entête ASCII 2 Etc Format de données standard
Le projet en 2010 Choix de programmation: Fonctions de RISA : N'utilise pas de librairie standard Visualiser FITS et son entête Interface complète dès le départ Logiciel non orienté objet Traiter un FITS par des gaussiennes Fonctions de RISA Visualiser un FITS sous forme d histogramme Photométrie et opérations mathématiques
Les limites de RISA
RISA en 2011 Contraintes et besoins du présent et à venir : 1 2 Evaluer les besoins des physiciens ou étudiants physiciens Favoriser l'interopérabilité. Restructurer entièrement le code source Architecture logicielle adaptée (orientée objet) Utilisation de librairies communautaires 3 Produire un code source lisible et clair, conforme aux conventions Sun Développer une nouvelle interface modulable et exempte de bugs.
Les Problèmes rencontrés RISA L interface Java Les Librairies Les Exceptions Faut-il diriger notre travail vers une remise à zéro du projet? Faut-il réutiliser le code existant? Comment bien concevoir un logiciel? Comment les intégrer? Que sont les exceptions, et comment les gérer? Faut-il nettoyer et ré-adapter le code source? Faut-il utiliser NETBEANS pour coder la nouvelle interface? Comment optimiser la programmation, et l'organisation du code? Comment collaborer sur le projet?
Nos Recherches Librairie TAM Librairie développée par la NASA qui permet de lire et écrire les fichiers FITS. Librairie Image J La librairie ImageJ permet la manipulation d'images et est développée par un organisme gouvernemental américain (National Institute of Health). L interface Graphique Programmation sous eclipse avec swing et awt.
Les Solutions Le logiciel Eclipse Mise en oeuvre Le MediaWiki Le SVN
Schéma Conceptuel core Fits Handler Schéma Conceptuel RISA 2011 fits Header Handler Envoi du fichier et réception de l'en-tête formaté Transfert des fichiers sources process Raw Image Inverted Image TwoFits... gui Génération des images envoyées vers la CoreInterface CoreInterface Transfert des fichiers sources Actions de l'utilisateur Actions de l'utilisateur ImageTab HistogramTab Récupération et affichage des images en entrée. display Histogram Viewer Image Viewer HeaderTab Échange de données entre classes (log d'erreur). UserInterface Légende Classe de travail Classe d'interface
TwoImages
Schéma Conceptuel core Fits Handler Schéma Conceptuel RISA 2011 fits Header Handler Envoi du fichier et réception de l'en-tête formaté Transfert des fichiers sources process Raw Image Inverted Image TwoFits... gui Génération des images envoyées vers la CoreInterface CoreInterface Transfert des fichiers sources Actions de l'utilisateur Actions de l'utilisateur ImageTab HistogramTab Récupération et affichage des images en entrée. display Histogram Viewer Image Viewer HeaderTab Échange de données entre classes (log d'erreur). UserInterface Légende Classe de travail Classe d'interface
Header Tab
Evolution du code Code Source: Respect des conventions Java recommandées par Sun. Ecriture propre du code Accès au code source simplifié et compréhension rapide Implémentation de nouvelles fonctionnalités simple. Interface: Interface évolutive Chaque onglet est une classe avec actionlistener Idées futures: Réorganisation de la partie «core», avec décomposition de la CoreInterface