Spécification Technique oiFitsExplorer
Ce topic à pour objectif de définir les fonctions à implémenter dans le logiciel.
Les Données
Chargement
- On ne modifie/écrase jamais un fichier original.
- Ouvrir en lecture seule (en local/en distant) plusieurs OIFits complexes : assuré par OITools/OIFitsCollectionManager.
- Charger en lecture seule plusieurs fichiers de l'OIDB : à faire (SAMP).
- Valider chaque fichier : OITools.
On obtient un modèle en mémoire de tous les fichiers chargés, appelée
OIFitsCollectionOriginale : doit-on cloner cette structure pour la garder intacte à tout instant de la vie de l'application ?
Analyse
- Doit-on factoriser automatiquement toutes les informations/tables redondantes (crossmatch des targets, les wavelengthes, les oi_array) ?
- Pour l'instant on garde tout, et une analyse permet de détecter les éléments communs (targets, stations/baselines/configurations, plage min/max wavelength);
- Doit-on analyser d'autres informations (temps) ?
- On calcule des données dérivées rajoutées comme colonnes virtuelles dans les objets OIData (fréquence spatiale, effective wavelength, configuration des stations);
- Il faut rajouter les bases projetées, l'angle de position de la base, l'angle horaire, le temps;
- Comment interpréter les INSNAME pour catégorisation par code couleur ?
- Comment interpréter les différents modes instrumentaux ?
- Comment identifier chaque table parmi toute celles chargées ? Quel identifiant (fichier, vis2, arrayname, insane, nb de points, ...) ?
Présentation
- Doit-on pouvoir afficher la structure/header des fichiers ?
- Afficher les données sous forme de table:
- Quoi afficher ? Une table ? Toutes les tables ?
- Doit-on pouvoir trier par colonne ?
- Sélection continue/discontinue par l'utilisateur ?
- Mise en surbrillance d'un ensemble de valeurs sélectionnées dans un plot ?
- doit-on afficher les données et identifiants bruts, ou afficher les références résolues (index n°1 ou ETA_TAU dans la case TARGET_ID) avec tous les risques d'ambiguité que cela peut engendrer ?
- y-a-t'il des conversions à faire (temps julien, ...)
- doit-on afficher les colonnes dérivées ?
- comment afficher les valeurs dépendantes de la longueur d'onde (tableau de tableau) ?
Parcours
- Doit-on garder/naviguer par le nom/chemin des fichiers ?
- Est-ce que le nom de fichier doit pouvoir servir pour identifier des données dans des plots (valeur/symboles) ?
Filtrage
- Comment filtrer par dates/heures ?
- Quelles sont les formules d'interprétation du temps ?
Transformation
- Flagger les données:
- Directement par sélection depuis les plots;
- Suivant une valeur de barre d'erreur maximum ?
- Par date ?
- Merger des données:
- Merger des fichiers différents ?
- Merger des tables différentes ?
- Quelles sont les règles de décision en cas de redondances des informations ?
- Modifier les données:
- Comment les sélectionner ?
- Moyenne, binage, ...
- Comment exprimer les modifications complexes (formules, langage de script) ?
- Quid des binages complexes ? plugins ???
Export
- Suppression des redondances de méta-données (target name, arrname, ...) ?
- Exporter un graphe au format ASCII;
- Exporter un graphe au format PDF;
Plots
- Choisir des symboles de point, mais en fonction de quoi ?
- Comment superposer des jeux de données différents ?
- Liste des plots particuliers:
- Plan UV;
- Plan de l'interféromètre ?
- Synchronisation des sélections entre plots ?
- Cohérence des couleurs et symboles entre plots ?
Les Sessions
- Quels réglages doit-on conserver d'un lancement à l'autre de l'application ?
- Quels réglages doit-on pouvoir exporter pour transmission à un collègue ?
Les Recettes
--
SylvainLafrasse - 07 Feb 2013