Je pense avoir trouvé le moyen d’indexer les images Eros 1/CCD dans la base de données ErosDB.
Ou plus précisément les images raisonnablement régulières – des bêtes bizarres, liées semble-t-il à la construction des suivis, vont rester de côté, du moins pour le moment.
Images Eros 1 / CCD
Il y a 343 251 images réparties sur 4 répertoires représentant les 4 campagnes d’observation : 3 pour LMC, 1 pour SMC et consorts.
Il y a deux sources : des archives avec le nom de la campagne, le suffixe Images et le code CCD, et des archives nommées DLT + un code dans un répertoire DLT_MARC. D’après ce que j’ai vu, toutes les images DLT Marc sont aussi présentes dans les LMC/SMC Images xx. Et pour ce que j’ai constaté, les dates et les tailles sont identiques dans les listings des archives Tar des deux ensembles. On peut donc penser qu’il s’agit de deux archivages d’une même source. C’est d’ailleurs dommage car il y a quelques images vides (taille 0) dans les archives LMC/SMC Images qui ont aussi une taille nulle dans les DLT – aucun espoir donc de pouvoir les récupérer. Il serait intéressant de valider les deux archivages en comparant les checksums, mais cela peut attendre.
Dans chaque campagne, les images sont organisées en plus ou moins 16 répertoires représentant les CCD. Plus ou moins car tous les CCD ne sont pas présents dans toutes les campagnes.
Pour les campagnes LMC, chaque répertoire contient de l’ordre de 5 000 fichiers. C’est beaucoup mais acceptable.
Pour SMC, on peut avoir jusqu’à 15 000 fichiers. Là, ça peut poser un problème, surtout si on se souvient que les « wildcards » du shell ne sont pas supportés par Irods. Lorsqu’on a lancé ils, il vaut mieux s’armer de patience.
Mais c’est l’organisation « naturelle » des fichiers de l’expérience, je serais donc enclin à la respecter.
La première étape va donc être de recopier ces images dans Irods. Les images vides sont ignorées.
Organisation :
/eros/data/eros1-ccd/
fits/
LMC9192/
00/
01/
. . .
SMC9495/
. . .
Entêtes FITS
Parce que c’est un outil vraiment pratique, j’ai extrait les entêtes FITS des images dans une arborescence symétrique que je vais également recopier dans Irods, et comme pour Eros2, les enregistrer dans la base de données sous la forme de BLOBs, des objets binaires de grande taille (Binary Large Object). Ceci permet à FitsHeader de les accéder directement sans avoir à passer par un transfert depuis Irods.
Evidemment, comme les deux arborescences sont symétriques, la question du nombre élevé de fichiers dans les répertoires SMC se pose ici aussi.
Organisation :
/eros/data/eros1-ccd/
fits-headers/
LMC9192/
00/
01/
. . .
SMC9495/
. . .
Base de données
La base de données a été mise en place à une époque où l’administration des données Eros était réalisée – très bien, d’ailleurs – grâce à des scripts TCL communiquant avec le serveur via un noyau C, l’ensemble constituant la première version d’ErosDb.
Pour éviter les surprises, un maximum de sécurités a été placé dans la base de données sous la forme de contraintes SQL. Par exemple, le code du CCD devait être compris entre 0 et 7, le code de l’objet céleste et son champ indiqués dans le nom de l’image devait être enregistrés, le seeing et l’air mass devaient être positifs, … Le non-respect d’une contrainte entrainait le rejet automatique de l’image.
La difficulté est que les images Eros 1 CCD ne correspondent pas tout à fait au schéma développé pour Eros 2.
Cependant, les deux organisations ne sont si éloignées et au prix de quelques compromis, il est possible d’enregistrer les images Eros 1 CCD :
- le code CCD doit être compris entre 0 et 15
- le code du champ n’est plus obligatoire
- le seeing et l’air mass peuvent être négatifs (ben si !)
- le code de l’objet céleste n’est plus contraint à 2 caractères, il peut n’en avoir qu’un seul
Cependant, dans Eros 2, une différence est faite entre le nom de l’image et le nom de son fichier : le fichier porte le nom de l’image + l’extension « .fits ». Ou si l’on préfère : le nom d’image enregistré dans la base de données est le nom sans l’extension « .fits ». Dans Eros 1 CCD, l’extension du fichier contient des informations de structure ! On y trouve le code de réduction de l’image et le code du CCD. On ne peut donc plus différencier le nom de l’image du nom du fichier. Le nom simple et l’extension doivent être enregistrés.
Quelques essais montrent que les outils de recherche et de rapport fonctionnent avec ces nouvelles conditions.
Mais il y a un point sur lequel je ne souhaite pas lâcher, c’est le fait que l’objet céleste, c’est-à-dire le programme scientifique, doit être enregistré dans la base de données.
Il y a pas moins de 24 codes objets différents pour Eros 1 CCD ! Heureusement que l’alphabet fait 26 lettres…
Pour pouvoir enregistrer les images, il faut donc commencer par définir les objets célestes associés et les enregistrer dans la base de données. Cela nécessite de construire une table avec le code (1 lettre), le nom (24 caractères) et une description (80 caractères).
Pour essayer de comprendre qui était quoi, j’ai tenter d’explorer les entêtes FITS afin d’identifier les objets correspondant aux différents codes. L’idée était de corréler les clés FITS ALPHA, DELTA et OBJECT avec les codes objets.
Ma doué … ! C’est exotique.
En gros, on peut identifier 5 groupes, décrits ici : le premier chiffre donne le nombre d’occurrences, la lettre : le code de l’objet dans le nom de l’image, puis dans la mesure du possible ce qui apparait dans les entêtes, le pointage et un avis personnel.
Les gros clients
- 180779 – x : LMC – 05:23:36, -69:46:00, mais avec quelques variations
- 92707 – s : SMC – 00:50:15, -73:15:00, là encore, différentes fluctuations
- 12971 – k : Coupole
- 6342 – o : Obscurité
On a là l’essentiel des images. MAIS, si on regarde les ALPHA/DELTA et/ou les indications des objets (clé OBJECT), on trouve des trucs qui n’ont vraiment rien à voir avec du LMC quottés « x », et des objets déclarés LMC dans à peu près tous les codes, de « a » à « z ».
On ne peut donc pas vraiment se fier au code de l’objet pour savoir à quoi correspond une image…
L’enregistrement dans la base de données consistera à reproduire le codage du nom de l’image – mais cela ne garantira rien d’autre. Pour réduire les surprises, je vais étendre la description des images en enregistrant d’autres clés FITS (voir Extensions).
Des à peu près sûrs
- 1668 – t : TY CrA
- 750 – y : Sagittaire
- 45 – w : Omega Centaure
Des mélangés
- 529 – d : Champs divers – ça a le mérite d’être sincère
- 44 – n : HD 23249, NGC 4472, sud du C Gal
- 649 – q : – Alertes ???
Des bizarres, en conflit
- 1616 – g : Ophiuchus, Centre Galactique
- 1141 – z : Ophiuchus, Centre Galactic – again
- 2887 – a : A95-13 / Baade Sud
- 540 – b : A95-14 b / Baade Window b / Baade Nord
- 45 – c : Baade Nord – en conflit avec « b »
- 270 – e : E4 Region – ???
Des candidats
- 12154 – h : l=1,b=-3 – serait-ce un candidat LMC ? Le n° 1
- 10638 – l : cand951 – un autre LMC ??
- 2646 – m : l=1.25, b=-3.44 – une variante de « h »
- 2624 – r : l=2, b=-4.56 – LMC 2 ???
- 1699 – j : =evenement 2 – une variante de candidat LMC 2 ?
- 270 – p : l=1 – Candidats SMC
- 165 – v : l=1 – bis ?
Les choix proposés
Comme au final, il va bien falloir se décider, voici une proposition de noms. Les descriptions devront attendre. La limite est de 24 caractères pour les noms et 80 pour les descriptions.
- x : LMC Eros 1 CCD
- s : SMC Eros 1 CCD
- k : Coupole Eros 1 CCD
- o : Obscurité Eros 1 CCD
- t : TY CrA
- y : Sagittaire
- w : Omega Centaure
- d : Champs divers
- n : HD 23249, NGC 4472
- q : Alertes Eros 1 CCD
- g : Ophiuchus, C.Galactique
- z : Ophiuchus, C.Galactic 2
- a : A95-13, Baade Sud
- b : A95-14, Baade Nord
- c : Baade Nord bis
- e : E4 Region
Et les candidats supposés
- h : l=1,b=-3
- l : cand951
- m : l=1.25, b=-3.44
- r : l=2, b=-4.56
- j : evenement 2
- p : l=1
- v : l=1 (bis)
Extensions à la base de données
Le fait d’avoir désormais des images de deux expériences – et peut-être trois si les images Plaques arrivent – et n’oublions pas Macho toujours en file d’attente – conduit à ajouter des informations afin d’accroitre les possibilités de recherche :
- naming – la convention de codage du nom de l’image : Eros 2 ou Eros 1 CCD
- bitPixel – le nombre de bits par pixel – 16 pour les deux expériences
- naxis1, naxis2 – les dimensions de l’image en pixel
- alpha, delta – les paramètres de pointage, mais tels qu’ils apparaissent dans l’entête FITS – là encore, ça peut être exotique !
- programme – c’est en fait la valeur de la clé FITS OBJECT, mais l’attribut objet est déjà utilisé pour le code de l’objet céleste normalisé
- type – le type de l’image déclaré dans l’entête FITS – le code de traitement Eros 2 reste inchangé et est décliné pour Eros 1 CCD
- origine – le nom du site ou de l’observatoire où l’image a été prise
- telescope – le nom du télescope
- detecteur – la nature de l’appareillage ou de l’électronique des CCD
- filtreInfo – l’information sur le filtre et/ou l’émulsion utilisée