Objectifs de Martin pendant les semaines de vacances

Result set

Afficher en bas le result set sous forme de tableau par exemple

Tick Target

timestamp

reconstruction

wavelength algo RGL_WGT Success? Rating Comment
Avec les features:
  • Trier par colonne,
  • supprimer les resultats cochés,
  • afficher les resultats cochés cote à cote
  • imagette dans la colonne
  • filtrage sur les keywords
Ajouter le nom des Algos dans INPUTparam

Afficher tous les mots clés interessants de INPUT/OUTPUT param

Sauver les Rating/ comments dans OUTPUTparam comme cela c'est sauvé avec le FITS

Sauver les images dans un répertoire temporaire de cache dans le home .fr.jmmc...

Quand on charge une OIimage elle devrait se remettre dans le result set

Log d'execution?

Tilling

Si on decide d'afficher une série de reconstructions, il faut pouvoir en mettre cote à cote un nombre arbitraire

Synchro vue? souris?

Click sur une image -> met la ligne en evidence ,

Les problèmes que j'ai rencontrés

Le rating :

  • Pour le composant de rating, j’ai créé deux classes, un renderer et un éditeur. Ces deux classes retournent un panel dans lequel j’ai ajouté un Star Rater (le panel de de notation à étoiles que j’ai trouvé sur Internet (http://blog.noblemaster.com/2010/08/31/star-rating-panel-for-java-swing/).

  • Le renderer retourne la même chose que l’éditeur et ça ne me semble pas poser problème dans le fonctionnement car c’est bien le même composant que je souhaite retrouver dans le tableau. La différence est que lorsque je clique sur la cellule, c’est l'éditeur qui me retourne un objet StarRater éditable. Quand elle n’est pas sélectionnée, c’est le renderer qui me retourne le même objet StarRater mais non éditable cette fois.

  • Dans le tableau, la valeur de la cellule de rating est un integer (de 0 à 5). J’ai essayé d’intégrer directement un StarRater dans le tableau mais ça me semble contraire au principe d’éditeur et de renderer.

  • Mon soucis vient du fait que la note attribuée par l'utilisateur ne reste pas en place dans le tableau. Selon ce que j'ai pu essayé, plusieurs cellules sont éditées en même temps alors qu'elles ne devraient pas, parfois l'édition d'une cellule efface la valeur d'une autre, parfois elles ne s'affichent tout simplement pas lorsque qu'elles ne sont pas éditées.
  • Le problème qui se pose provient je pense de la gestion des événements dans le tableau. Le composant StarRater possède plusieurs listeners qui regardent les mouvements de la souris de manière constante afin de changer le nombre d'étoiles. Et quand j’actualise le tableau avec un nouveau résultat, je pense que les listeners du composant ne se déplacent pas avec lui et restent sur la ligne où le résultat était précédemment.

  • J’ai essayé plein de solutions pour pallier ce problème dans le renderer et l’éditeur mais sans succès. Le composant n’a pas l’air d’être fait pour être dynamique, ce qui veut dire que les modifications devraient être effectuées directement dans la classe StarRater.

LBO: corrigé dans la PR#2 : il fallait utiliser StarRater.selection pour définir / récupérer le rating + StarListener pour signaler TableCellEditor.fireStopEditing() afin de récupérer la valeur via getCellEditorValue() car JTable stocke alors cette valeur via TableModel.setValueAt(...)

Absence de target :

  • Le premier résultat de la liste de ServiceResult ne contient pas de valeur dans le champ TARGET, je n’ai pas encore trop cherché à savoir pourquoi.

LBO: créer un bug (trac ou github) low priority ? surement un effet de bord (swing) ou un problème de keyword ?

Soucis avec le placement initial du tableau :

  • Je n’ai pas réussi à bien placer le tableau au démarrage de l’application, il prend la moitié de l’écran à chaque démarrage.

LBO: effectivement, c'est bof. Je vais m'en occuper prochainement car je suis en train de corriger ASAP ce genre de problème (JSplitPane / JscrollBar / place libre) dans ASPRO2...

Les output_param :

LBO: à revoir; je propose de ne pas toucher à OITools pour l'instant mais traiter cela dans oimaging (déclaration des mots-clés supplémentaire G_xxx comme GUI, et affectation des valeurs à la récéption d'un résultat ...)

Exploration multi-spectrale avec le slider :

  • Pour revenir au slider qui explore des cubes d’images, j’ai un peu réfléchi à comment parcourir les images par longueurs d”onde plutôt que par index mais n’ai encore rien produit dans le code. Pour y parvenir, il serait nécesaire de vérifier en amont si le cube d’images comprend bien des images de la même target à différentes longueurs d’ondes ?

LBO: pas compris; peux-tu détailler un use case ?

Comme FitsImage.getWaveLength() retourne la longueur d'onde du plan image en mètres, il est possible de faire une correspondance: index => FitsImage => WLEN. Effectivement, cela peut poser un problème si la liste des images n'est pas ordonnée en longueur d'onde ...

Pour commencer, il faudrait afficher WLEN à coté du slider ? et afficher un tooltip (tel que la légende des images dans FitsImagePanel ?)

Identification des images:

Il faudra uniformiser et toujours afficher l'identifiant UNIQUE du FitsImage via get/set FitsImageIdentifier() dans les panel ou tooltips :

image.setFitsImageIdentifier(fileName + '#' + hduIndex);
image.setFitsImageIdentifier(filename + '#' + hduIndex + '-' + imageIndex + '/' + imgCount);

Cela n'aide pas à suivre quelle image de quelle reconstruction est affichée !!

Si le filename avait une logique, cela serait plus clair.

Par ex:

filename = "2004-FKV1137-L1L2-example.image-oi.fits6982912276868410267.export-0.fits.output.fits"
=>

filename = "2004-FKV1137-L1L2-example.image-oi-OImg-0.fits"

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2021-08-27 - LaurentBourges
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback