Tags:
create new tag
, view all tags

Ingestion des données associées.

Concerne les fichiers FITS qui contiennent des spectres, des images ou des cubes. -- Voir aussi la doc sur la gestion des fichiers FITS

Procédure détaillée dans la doc : http://cdsarc.u-strasbg.fr/doc/viz/assocdata.htx

Le document de référence pour les coordonnées spectrales FITS est Greisen et al. 2006A&A...446..747G

Pour rappel, les étapes de la procédure :
1. Créer le fichier obscoreimage ou obscorespectrum
1.1. Les regroupements de fichiers FITS par listes
1.2. Compléter/modifier le fichier obscoreimage/obscorespectrum
2. Ingérer et vérifier ses données
3. Ajouter les liens vers Saada sur le catalogue
4. Quelques joyeusetés rencontrées

1. Créer le fichier obscoreimage ou obscorespectrum :

Se fait soit :
- via l'outil graphique xfits (lancer la commande xfits depuis le répertoire du catalogue sur cats).
Exemple : Dans File, choisir "New collection from Directory", choisir le sous-répertoire qui contient les fichiers FITS et cliquer sur "Open" pour établir un mapping sur tous les spectres d'un répertoire -- cas où tous les fichiers du répertoire ont la même structure.

- en ligne de commande (lancer les commandes getimg ou getspec ).
Exemple : getspec sp/ > obscorespectrum pour faire le mapping sur tous les spectres au format FITS inclus dans le sous-répertoire "sp" -- cas où tous les fichiers du répertoire ont la même structure.

1.1. Les regroupements de fichiers FITS par listes :

Lorsque les fichiers FITS d'un sous-répertoire n'ont pas tous la même structure mais peuvent se regrouper, par exemple par instrument ou par bande spectrale, il faut créer un fichier contenant la liste des fichiers regroupés.

Exemple (J/ApJ/850/89) : la commande find spectra/ -name *BAA*.fits -print > baa.liste va permettre de récupérer la liste avec le chemin complet de tous les fichiers dont l'intitulé contient ...BAA...fits (y-compris, dans les sous-sous-répertoires).
On peut ensuite faire le getspec (ou getimg ) sur chaque liste et les rediriger vers le fichier obscorespectrum (ou obscoreimage) final.
Exemple : getspec baa.liste > obscorespectrum , puis en 2è commande getspec cla.liste >> obscorespectrum pour ajouter le mapping de la 2è liste au premier.

1.2. Compléter/modifier le fichier obscoreimage/obscorespectrum :

Voir Section 5 dans la doc de Gilles.

Ce qui prend le plus de temps : vérifier qu'on a, au minimum, une couverture spectrale (em_min, em_max, spcunit) et un téléscope (facility_name), voire instrument (instrument_name).

C'est encore mieux si on a une position (s_ra et s_dec). Penser à bien indiquer le système de coordonnées (FK5, ICRS...), dans le champs system, pour que le mapping fonctionne.

On peut utiliser les données de la table VizieR pour récupérer des informations si elles manquent dans le Header. L'ingestion sera plus longue...

Exemple 1 (J/AJ/154/107) - recherche le "Name" dans la table "stars" du catalogue, qui contient aussi le nom du fichier en colonne "File" :

spectrum: list_rchip (1305)
            hdu: -1
    target_name: ${J/AJ/154/107/stars}.${Name}.${File}
           s_ra: RA           # Assigned by keyword - Value: 286.80791666666664
          s_dec: DEC          # Assigned by keyword - Value: 49.31597222222222
          s_fov:
       s_region:
   s_resolution:
         system: FK5          # Value: FK5
          t_min: DATE-OBS     # Assigned by keyword - Value: 55728.0
          t_max: DATE-END     # Assigned by keyword - Value: 55728.0
      t_exptime: EXPTIME      # Assigned by keyword - Value: 104.48120117
   t_resolution:
         em_min: 4975
         em_max: 6420
   em_res_power:
        spcunit: Angstroms    # ?
        em_band:
     pol_states:
instrument_name: INSTRUME     # Assigned by keyword - Value: HIRES: High Resolution Echelle Spectrometer
  facility_name: TELESCOP     # Assigned by keyword - Value: Keck I

-----------------------------------------------

Exemple 2 (J/ApJ/853/62) :

-----------------------------------------------
spectrum: fig3/*.fits (31)
            hdu: -1
    target_name: 'SN2016ija'
           s_ra: '63.031833'
          s_dec: '-32.852936'
          s_fov:
       s_region:
   s_resolution:
         system: 'ICRS'       # Assigned by value - Value: 'ICRS'
          t_min: ${J/ApJ/853/62/table1}.${JD}.${File}
          t_max:
      t_exptime:
   t_resolution:
         em_min: #${J/ApJ/853/62/table1}.${lam1}.${File}
         em_max: #${J/ApJ/853/62/table1}.${lam2}.${File}
   em_res_power:
        spcunit:
        em_band:
     pol_states:
instrument_name:
  facility_name: ${J/ApJ/853/62/table1}.${Inst}.${File}
     wcs.CUNIT1: Angstrom

On peut aussi utiliser les informations qui sont dans le titre du fichier mais seulement en récupérant les champs issus d'un split (séparation du titre en différents éléments selon un séparateur donné). Aucune concaténation ou substitution n'est possible sur ce résultat.

Un substring sur le nom du fichier fonctionne aussi (on indique le début et la fin de la chaine de caractère contenue dans le nom du fichier).

Exemple (J/ApJ/839/20):

-----------------------------------------------
spectrum: spectra/ra178.7675629dec-18.3209972hjd2457519.6_hectochelle.fits (1)
            hdu: -1
    target_name:
           s_ra: substring(FICHIER,3,12)             # No supported WCS - no simple keywords
          s_dec: substring(FICHIER,17,26)             # No supported WCS - no simple keywords
          s_fov:
       s_region:
   s_resolution:
         system: 'ICRS'         # Cannot guess it from the position keywords

2. Ingérer et vérifier ses données

La commande saadaconv -f obscorespectrum -o table affiche le résultat du mapping avec les valeurs des fichiers dans une table.

Idem avec la commande seespec ou seeimg .

On met en prod (locale = dernière question posée) via les commande putimg/putspec.

On vérifie le résultat dans la base locale : http://cdsarc.u-strasbg.fr/local/assocdata/

On peut modifier de nouveaux le fichier obscorespectrum/obscoreimage si on n'est pas content du résultat.

3. Ajouter les liens vers Saada sur le catalogue :

Il faut ensuite refaire un 2v pour ajouter le logo Saada/Fits au catalogue (via la commande \VizAssocData{obscoreimage} qui s'est ajoutée automatiquement au .status).

On peut aussi ajouter une colonne "assocdata" lorsque le lien est possible par fichier :

Pour un spectre:

\vizMore{ table }{AssocData}{\AssocDataSpecLink{@{@cat}}{@{***FITSfile}}}
\vizAddColumn{ table }{AssocData}{fits}{}{ -FITSfile}{Associated Data web page}

où FITSfile est le nom de la colonne qui contient les noms de fichiers FITS.

Pour une image (on utilise AssocDataImageLink pour créer une imagette):

\vizMore{ table }{AssocData}{\AssocDataImageLink{@{@cat}}{@{***FITSfile}}}
\vizAddColumn{ table }{AssocData}{fits}{}{ -FITSfile}{Associated Data web page}

Par contre, il faut que le catalogue soit en prod sur Saada (et pas en local) pour que le lien fonctionne...

4. Quelques joyeusetés rencontrées :

J/A+A/561/A137 : pour la liste des 4 fichiers du WHT, ajout de valeurs moins "à la n'importe quoi" (dixit Gilles) du WCS (wcs.KEYWORD_FITS).

-----------------------------------------------
spectrum: WHT.list (4)
(...)
  facility_name: 'William Herschel Telescope'
     wcs.CTYPE1:'LINEAR'
     wcs.CUNIT1:'Angstrom'
     wcs.CDELT1: 1
     wcs.CRPIX1: 0

-----------------------------------------------

J/A+A/558/A58 : valeur CROTA3 = "0.3445464522025-151" à ignorer pour le mapping. Sauf qu'il est possible d'ignorer des mots-clefs FITS mais une fois le fichier de mapping créé, ce qui n'est pas le cas ici.

=> Impossible de créer le mapping pour mettre les fichiers dans Saada.

J/A+A/558/A18 : normalement, avec un RESTFREQ, on peut calculer un delta lambda pour avoir em_min, em_max mais dans ce cas, c'est un peu compliqué... Voir CR du 19/03/2019.

J/A+A/555/A142 : 48 spectres de 13 instruments différents étalés sur 12 ans y a aucune raison qu’il y en ait 2 semblables !

J/A+A/627/A107 : 2 fichiers FITS. Tout le spectre est inclus dans une ligne.

-- EmmanuellePerret - 2019-03-27

Topic revision: r5 - 2019-09-20 - EmmanuellePerret
 
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