Outils pour les suivis
Plusieurs outils ont été développés autour des suivis Eros afin de simplifier leur exploration.
- DumpSuivi affiche les différents éléments d'un suivi sous la forme de tables
- ExtendedLightcurve ajoute des informations sur les images et les dates d'observation aux courbes de lumière
- RawCurve présente les mesures directement extraites d'un suivi dans un format inspiré des courbes de lumière
- SuiviConvert assure la conversion d'un suivi dans un format alternatif.
Attention: ces outils sont encore expérimentaux et demanderait une évaluation plus poussée.
Dump Suivi
DumpSuivi est un outil pour l'exploration des fichiers de suivi. Bien qu'initialement destiné à l'étude et la compréhension de la structure interne des suivis binaires, DumpSuivi s'avère un outil utile pour l'exploration de tous les types de suivi. Optimisé pour un accès rapide aux suivis binaires, il présente des performances raisonnables avec les suivis JSon ou JSon GZip.
Utilisation
DumpSuivi est destiné à présenter sous la forme de tables le contenu des différents éléments d'un suivi. Les éléments pouvant être présentés sont l'entête du suivi, le bloc de commentaire, les signatures déclarées des éléments, les informations globales, la description des étoiles, la description des images ou l'ensemble des mesures.
DumpSuivi [options] suivi
Les options permettant d'accéder aux différentes structures du suivi sont les suivantes:
- -header: présentation de l'entête
- -stars: présentation des étoiles
- -times: présentation des images
- -all: présentation de toutes les données
Si aucune option de présentation n'est indiquée, seul l'entête du suivi est affiché. Cependant, l'option -header présente non seulement l'entête mais aussi le bloc de commentaires et le bloc des signatures. Ceci étant, ces deux blocs étant définis de manière statique dans le code C et n'étant pas strictement conforme à la structure du suivi, l'intérêt est un peu réduit.
Présentation par défaut
Par défaut, seul l'entête du suivi est présenté. L'exemple suivant montre l'accès à un fichier binaire traditionnel.
% DumpSuivi -verb lm01000krp501.sv
28-May-2021 17:32 (INFO) Loading binary suivi
28-May-2021 17:32 (INFO) Suivi report
#Suivi Parameters
Name Programme Champ Camera Ccd Filtre Production Bloc Type Nametype Byteorder
------------- --------- ----- ------ --- ------ ---------- ---- ------ -------- -------------
lm01000krp501 lm 010 0 0 r p5 1 EROS_2 EROS_2 LITTLE_ENDIAN
#Header
Total Size Header Size Nb Stars Nb Mesures Mesures/Block Type Cor Marker SwapFlag
---------- ----------- -------- ---------- ------------- ---- ---------- --------
139662445 217 32768 134 10 10 134 0xFFFF
28-May-2021 17:32 (INFO) Done
Fichier Json comprimé
Contrairement à l'accès à un fichier binaire qui peut être chargé partiellement si la présentation est réduite à l'entête, l'accès aux fichiers Json ou Json comprimé ne peut se faire que par la lecture de l'ensemble du fichier.
% DumpSuivi -verb lm01000krp501.json.gz
28-May-2021 17:33 (INFO) Loading other format suivi
28-May-2021 17:34 (INFO) Suivi report
#Suivi Parameters
Name Programme Champ Camera Ccd Filtre Production Bloc Type Nametype Byteorder
------------- --------- ----- ------ --- ------ ---------- ---- ------ -------- ---------
lm01000krp501 lm 010 0 0 r p5 1 EROS_2 EROS_2
#Header
Total Size Header Size Nb Stars Nb Mesures Mesures/Block Type Cor Marker SwapFlag
---------- ----------- -------- ---------- ------------- ---- ---------- --------
139662445 217 32768 134 10 10 134 0xFFFF
28-May-2021 17:34 (INFO) Done
Le temps de chargement est bien sûr plus long mais reste raisonnable.
Présentation des entêtes
Dans ce mode de présentation, le bloc d'entête, les commentaires et le bloc des signatures sont présentés.
% DumpSuivi -verb lm01000krp501.json.gz -header
28-May-2021 17:34 (INFO) Loading other format suivi
28-May-2021 17:35 (INFO) Suivi report
#Suivi Parameters
Name Programme Champ Camera Ccd Filtre Production Bloc Type Nametype Byteorder
------------- --------- ----- ------ --- ------ ---------- ---- ------ -------- ---------
lm01000krp501 lm 010 0 0 r p5 1 EROS_2 EROS_2
#Header
Total Size Header Size Nb Stars Nb Mesures Mesures/Block Type Cor Marker SwapFlag
---------- ----------- -------- ---------- ------------- ---- ---------- --------
139662445 217 32768 134 10 10 134 0xFFFF
#Record Signatures
Record Signature
------------ -----------------------------------------------------------------------------------------------
SvGlobalInfo IIIIIIIFFFFFDDDDDDDDDDDDDDDDDDDDDDDDDDDDI
SvStarInfo IIFFFFFFFFSSSSSSSSSS
SvTimeInfo IIIIIFFFFFFFFFFFFFDDDDDDDDDDDDDDDDDDDDDDDDDDDDIFFIFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFSSSSISSFF
SvMesure FFSSSSSSSSSSS
#Comments
Comments
--------------------------------------------------------------------------
Fichier de suivi Type 10 (CCD EROS/ MARLY)
GlobInfo : NumCCD Couleur NumChamp IRes[4] AlphaHr DeltaDg GainCCD FRes[2]
StarInfo : NumEt XRef FlxMean FlxSig FLuxRef XPos YPos
. FgRef NbVois Voisin[8] DisMin DisM2 DisM2R
TimeInfo : NumPhoto TStart Expose NbOkPS NbOKGF Fond SigFond
. SigX SigY Rho SgX SgY PxSiz[2] CrVal[2] DelX DelY
.. PolxyRC[3][2] PolxyCR[3][2] LargX[2] LargY[2] MidX[2] MidY[2]
... XMin[2] XMax[2] YMin[2] YMax[2] DegPolTG Absorption AirMass
.... FgCalib Calib[8] Resol[3][6] PFitErr[2][5]
..... PSF1D PSF2D Version Revision DateHeure TSid ObsId FRes[2]
Mesure : Flux Xi2 ErrFlux Fond Flx0 Fnd0 Xi20
. S9Pix PixMax X Y SigX SigY
28-May-2021 17:35 (INFO) Done
Présentation des descripteurs d'images
Dans la terminologie historique Eros, les descripteurs d'images sont répertoriés comme des mesures dans l'entête mais sont enregistrés dans des structures nommées Time Infos, peut-être parce que les dates d'observation sont intégrées aux images FITS. Toujours est-il que la présentation des images est associée à l 'option --times...
L'exemple suivant ne montre que le début du rapport, le suivi comptant 134 mesures, c'est-à-dire 134 images analysées.
% DumpSuivi -verb lm01000krp501.sv -times | head -16
28-May-2021 17:36 (INFO) Loading binary suivi
28-May-2021 17:36 (INFO) Suivi report
#Time Infos
Img Ref Date Locale Date Observation Date Exposition Sideral Hour Expose
------- -------------------- -------------------- --------------- ------------ ------
6g29121 30-Jul-1996 06:04:59 30-Jul-1996 06:04:58 01:55:22 180
6g31147 01-Aug-1996 06:14:39 01-Aug-1996 06:14:38 02:12:56 180
6h0759 08-Aug-1996 05:46:14 08-Aug-1996 05:46:14 02:12:04 180
6h1978 20-Aug-1996 05:36:16 20-Aug-1996 05:36:16 02:49:22 180
6h28121 29-Aug-1996 04:04:25 29-Aug-1996 04:04:24 01:52:44 180
6i04124 05-Sep-1996 05:07:01 05-Sep-1996 05:07:00 03:23:08 180
6i15102 16-Sep-1996 03:55:23 16-Sep-1996 03:55:22 02:54:40 180
6i2856 29-Sep-1996 04:54:53 29-Sep-1996 04:54:52 04:45:34 180
6i27106 28-Sep-1996 04:54:48 28-Sep-1996 04:54:48 04:41:32 180
6j0890 09-Oct-1996 02:06:03 09-Oct-1996 02:06:02 02:35:42 180
6j1849 19-Oct-1996 05:51:27 19-Oct-1996 05:51:26 06:00:58 180
6j14124 15-Oct-1996 04:37:41 15-Oct-1996 04:37:40 04:31:16 180
6j2695 27-Oct-1996 02:52:54 27-Oct-1996 02:52:54 03:33:28 180
28-May-2021 17:36 (INFO) Done
Extended Lightcurve
Les courbes de lumière Eros 2 (voir Format des courbes de lumière) présente les principaux paramètres des étoiles suivies par l'expérience comme un tableau ASCII, à raison d'une courbe par étoile et donc par fichier. L'exemple suivant montre le début d'un tel fichier.
# star: erosid MagR ErrMR XR YR MagB ErrMB XB YB
# lm0101k72 19.791 0.552 1220.75 1576.93 20.551 0.596 1166.87 1609.60
#
# date MagR ErMagR MagB ErMagB
296.92857 20.891 2.087 99.999 9.999
303.90878 21.487 2.848 99.999 9.999
315.90198 19.308 1.411 21.300 4.590
324.83806 19.783 1.110 99.999 9.999
326.84836 19.709 0.631 20.078 0.381
354.87292 19.326 0.357 99.999 9.999
La date présentée est exprimée comme un jour julien héliocentrique dont l'origine est décalée au 9 Octobre 1995, à midi. Une telle date n'a sans doute pas de signification particulière si ce n'est qu'elle décale l'origine des EHJD (Eros Heliocentric Julian Days) de 2 millions 450 milles jours par rapport à l'origine officielle des jours juliens - et permet donc de présenter des chiffres plus facile à lire.
Ceci étant, passer d'un EHJD à une date réelle n'est pas une mince affaire ! Par exemple, pourquoi l'estimation de la magnitude bleue de la date 296.928... a-t-elle échouée (la valeur 99.999 correspond à moins l'infini en termes de magnitude) ? Une solution serait d'aller voir l'image. Mais comment la trouver !? Par la base de données, bien sûr ! Mais encore faudrait-il connaitre la date d'observation pour pouvoir l'interroger.
L'application Extended Lightcurve est là pour cela.
% ExtendedLightcurve -verb lm0101k72.time | head -12
26-May-2021 13:35 (INFO) Reading lightcurve lm0101k72.time
26-May-2021 13:35 (INFO) Loading reference dates
26-May-2021 13:35 (INFO) Connecting database
26-May-2021 13:35 (INFO) Database connection time: 5046 ms
26-May-2021 13:35 (INFO) Collecting images parameters
26-May-2021 13:35 (INFO) All images parameters collect time: 4275 ms
26-May-2021 13:35 (INFO) Building extended lightcurve
26-May-2021 13:35 (INFO) Extended lightcurve build time: 756 ms
26-May-2021 13:35 (INFO) Building report
# star: erosid Magr Errmgr Xr Yr Magb Errmgb Xb Yb
# lm0101k72 19.791 0.552 1220.75 1576.93 20.551 0.596 1166.87 1609.60
#
# Ehjd MagRed ErMgR MagBlue ErMgB Mjd Exposition Observation Imagered Imageblue
296.92857 20.891 2.087 99.999 9.999 50296.4280 01-Aug-1996:10:16:19 01-Aug-1996:06:14:39 lm01001trr6g31147 lm01011tbr6g31147
303.90878 21.487 2.848 99.999 9.999 50303.4082 08-Aug-1996:09:47:48 08-Aug-1996:05:46:14 lm01001trr6h0759 lm01011tbr6h0759
315.90198 19.308 1.411 21.300 4.590 50315.4014 20-Aug-1996:09:38:01 20-Aug-1996:05:36:16 lm01001trr6h1978 lm01011tbr6h1978
324.83806 19.783 1.110 99.999 9.999 50324.3375 29-Aug-1996:08:06:00 29-Aug-1996:04:04:25 lm01001trr6h28121 lm01011tbr6h28121
326.84836 19.709 0.631 20.078 0.381 50326.3478 31-Aug-1996:08:20:50 31-Aug-1996:04:19:18 lm01001trr6h30109 lm01011tbr6h30109
354.87292 19.326 0.357 99.999 9.999 50354.3725 28-Sep-1996:08:56:24 28-Sep-1996:04:54:48 lm01001trr6i27106 lm01011tbr6i27106
375.87045 19.266 0.252 99.999 9.999 50375.3702 19-Oct-1996:08:53:05 19-Oct-1996:05:51:27 lm01001trr6j1849 lm01011tbr6j1849
385.83895 19.467 0.469 99.999 9.999 50385.3388 29-Oct-1996:08:07:52 29-Oct-1996:05:06:17 lm01001trr6j2891 lm01011tbr6j2891
26-May-2021 13:35 (INFO) Number of checked images: 962
Connaissant l'image, ici lm01011tbr6g31147, il est facile d'interroger la base de données grâce à ReportImages
% ReportImages nom=lm01011tbr6g31147
Nom Objet Champ Camera Ccd Sous Image Filtre Traitement Nuit Ordre Date Exp est. Erreur
----------------- ----- ----- ------ --- ---------- ------ ---------- ----------- ----- -------------------- ------
lm01011tbr6g31147 lm 010 1 1 t b r 31-Jul-1996 147 01-Aug-1996 10:14:39 OK
ou consulter son entête par FitsHeader
% FitsHeader lm01011tbr6g31147
SIMPLE = T
BITPIX = 16
NAXIS = 2
NAXIS1 = 2048
NAXIS2 = 2048
NUMCAM = 2
NUMCCD = 1
NUMADC = 8
CCDACT = '01234567 '
NUMSEQ = 0
MAXSEQ = 1
INDSEQ = 0
DATE-OBS= '01/08/96 '
TM-EXPOS= 180
TM-FLASH= 0
TM-START= '06:14:39 '
TM-END = '06:17:45 '
TU-START= '10:14:39 '
TU-END = '10:17:45 '
TS-START= '02:12:57 '
TS-END = '02:16:03 '
AIRMASS = 1.069356E+09
OBJECT = 'lmc-lentilles'
ALPHA = '05:07:39.2'
DELTA = '-69:44:22 '
...
Comme le montre l'exemple, la courbe de lumière ‟étendue” reprend le format de base de la courbe de lumière standard: elle débute par le même entête décrivant les paramètres généraux de l'étoile et affiche les mêmes 5 premières colonnes. Les informations étendues sont ajoutées à la suite de ces colonnes de base, ce qui garantie la compatibilité de la courbe de lumière ‟étendue” avec la courbe de base.
Les messages d'information présentés dans cet exemple montre que Extended Lightcurve se connecte à la base de données pour vérifier l'existence des images décrites. Cette précaution coute quelques secondes, en fonction de la qualité du réseau, permet de récupérer les informations d'observation des images.
Raw Curve
RawCurve est un autre outil d'exploration lié aux courbes de lumière et aux suivis. Son rôle est d'extraire des fichiers de suivi les valeurs brutes des mesures réalisées sur une étoile particulière et de les présenter sous une forme tabulaire, similaire aux formats des courbes de lumière.
Contrairement à ExtendedLightcurve qui s'appuie sur une courbe de lumière existante, RawCurve accède directement aux suivis. Il est donc possible d'accéder aux valeurs d'une étoile pour laquelle il n'existe pas de courbes de lumière. En outre, RawCurve présente toutes les informations relatives à l'étoile interrogée, alors que les courbes de lumière ne présentent que les informations pertinentes en termes de physique.
RawCurve est utilisable de trois manières: pour un seul et unique suivi, comme le fait par exemple DumpSuivi, pour plusieurs blocs de suivis d'un même quart de CCD, ou pour l'ensemble des blocs de suivis liés au quart de CCD dans les deux couleurs.
L'ordre dans lequel les suivis sont indiqués est sans importance, RawCurve les réordonne de manière à les présenter dans l'ordre où ils ont été produits.
L'application propose deux modes de présentation des résultats: tel qu'ils apparaissent dans le ou les fichiers de suivi, ou en les classant par date d'observation et en éliminant les doublons, résultant du traitement multiples de certaines images. Il convient toutefois de noter que dans le mode bicolore, lorsque les suivis des deux caméras sont traités ensembles, le mode dit ‟réduit” est imposé.
Par ailleurs, lorsque plusieurs suivis sont traités, l'application vérifie leur cohérence et signale une erreur si ces suivis ne correspondent pas au même quart de CCD.
Dans tous les cas, l'étoile est désignée par son identifiant Eros. Une différence est faite toutefois entre les modes monochrome et bicolore quant à son interprétation. En mode monochrome, l'étoile est désignée par son numéro dans le suivi. En mode bicolore, l'étoile est désignée par son numéro "rouge", c'est-à-dire le numéro qu'elle porte dans le suivi rouge. Cette étoile "rouge" est alors associée à l'étoile "bleue" en se basant sur le numéro d'association de l'étoile "rouge". Dans ce mode bicolore, seules les étoiles associées sont retenues. Dans le mode monochrome, il suffit que l'étoile existe dans le suivi.
Usage
jrun RawCurve [-[no]reduce] [-xref] starid suivis...
En mode monochrome, l'étoile est identifiée par son numéro dans le suivi.
En mode bicolore, l'étoile est identifiée par son numéro de suivi "rouge" et associée à l'étoile du suivi "bleu". Ce numéro "rouge" est le numéro utilisé pour construire sa courbe de lumière (voir par exemple ExtendedLightcurve).
L'option -xref permet de désigner l'étoile à présenter non par son numéro dans le suivi mais par le numéro de son étoile associée dans le suivi de l'autre couleur. Cette option est essentiellement destinée à la présentation d'une étoile bleue connaissant son numéro par sa courbe de lumière, qui est le numéro de l'étoile en rouge. Cette option est ignorée dans le mode bicolore.
L'option -noreduce permet de ne pas classer les mesures par date d'observation ni réduire les doublons.
L'application étant d'un usage réduit, elle n'est accessible que grâce à la commande de lancement jrun.
Présentation monochrome
Le mode ‟monochrome” correspond à la situation où les suivis traités correspondent au même quart de CCD pour une seule caméra - c'est-à-dire une même couleur.
% jrun RawCurve -verb 72 data/eros2/suivis/lm01000krp50*.sv
26-May-2021 14:31 (INFO) Reading suivi data\eros2\suivis\lm01000krp501.sv
26-May-2021 14:31 (INFO) Reading suivi data\eros2\suivis\lm01000krp502.sv
26-May-2021 14:31 (INFO) Reading suivi data\eros2\suivis\lm01000krp503.sv
26-May-2021 14:31 (INFO) Reading suivi data\eros2\suivis\lm01000krp504.sv
26-May-2021 14:31 (INFO) Reading suivi data\eros2\suivis\lm01000krp505.sv
26-May-2021 14:31 (INFO) Reading suivi data\eros2\suivis\lm01000krp506.sv
26-May-2021 14:31 (INFO) Building raw cuve
Ehjd Mjd Tstart Observation Nuit ImageR FluxR ErrFlxR X Y Xi2 Fond Flx0 Fnd0 Xi20 S9pix Pixmax Sigx Sigy
---------- ---------- --------- -------------------- ----------- ----------------- ---------- ------- ---- ----- ---------- ----- ---- ---- ---- ----- ------ ---- ----
294.92176 50294.4201 207558299 30-Jul-1996:06:04:59 29-Jul-1996 lm01000trr6g29121 66.095 9062 265 5988 1.6289196 102 -4 105 2534 -37 100 211 216
296.92857 50296.4268 207731679 01-Aug-1996:06:14:39 31-Jul-1996 lm01000trr6g31147 -1095.073 3786 498 6119 1.7809194 2602 -4 105 -10 -37 2594 211 216
303.90878 50303.4071 208334774 08-Aug-1996:05:46:14 07-Aug-1996 lm01000trr6h0759 -2448.510 2270 879 6381 2.1035507 1514 -4 105 -12 -37 1357 211 216
315.90198 50315.4002 209370976 20-Aug-1996:05:36:16 19-Aug-1996 lm01000trr6h1978 -2679.031 1425 913 5433 2.621788 1336 -4 105 -10 -37 1308 211 216
324.83806 50324.3364 210143065 29-Aug-1996:04:04:25 28-Aug-1996 lm01000trr6h28121 356.836 12245 142 5944 0.95331544 3467 -4 105 -10 -37 3484 211 216
326.84836 50326.3467 210316758 31-Aug-1996:04:19:18 30-Aug-1996 lm01000trr6h30109 -353.551 8109 572 5769 1.7885089 2691 632 1119 -10 4976 2685 336 316
331.88154 50331.3799 210751621 05-Sep-1996:05:07:01 04-Sep-1996 lm01000trr6i04124 -9999.000 436 0 3466 -2000.0 -999 -4 105 -700 -37 0 211 216
342.83169 50342.3301 211697723 16-Sep-1996:03:55:23 15-Sep-1996 lm01000trr6i15102 -9999.000 436 0 3659 -2000.0 -999 -4 105 -700 -37 0 211 216
354.87292 50354.3714 212738088 28-Sep-1996:04:54:48 27-Sep-1996 lm01000trr6i27106 -9999.000 436 82 3277 -2000.0 -999 -4 105 -12 -37 2975 211 216
355.83131 50355.3714 212824493 29-Sep-1996:04:54:53 28-Sep-1996 lm01000trr6i2856 -9999.000 436 0 3261 -2000.0 -999 -4 105 -700 -37 0 211 216
365.75563 50365.2542 213678363 09-Oct-1996:02:06:03 08-Oct-1996 lm01000trr6j0890 -9999.000 436 0 3918 -2000.0 -999 -4 105 -700 -37 0 211 216
371.81918 50371.3178 214202261 15-Oct-1996:04:37:41 14-Oct-1996 lm01000trr6j14124 -9999.000 436 0 3043 -2000.0 -999 -4 105 -700 -37 0 211 216
375.87045 50375.3691 214552287 19-Oct-1996:05:51:27 18-Oct-1996 lm01000trr6j1849 -9999.000 436 77 2757 -2000.0 -999 -4 105 -12 -37 1294 211 216
379.79571 50379.2944 214891437 23-Oct-1996:04:03:57 22-Oct-1996 lm01000trr6j22111 -9999.000 436 1 3359 -2000.0 -999 -4 105 -22 -37 1682 211 216
383.74637 50383.2451 215232774 27-Oct-1996:02:52:54 26-Oct-1996 lm01000trr6j2695 -9999.000 436 0 3481 -2000.0 -999 -4 105 -10 -37 0 211 216
385.83895 50385.3377 215413577 29-Oct-1996:05:06:17 28-Oct-1996 lm01000trr6j2891 -339.283 9669 280 3086 2.120081 3076 -4 105 -10 -37 3090 211 216
388.85272 50388.3515 215673967 01-Nov-1996:05:26:07 31-Oct-1996 lm01000trr6j31110 -89.735 30587 187 3108 1.4491819 1376 -4 105 -10 -37 1434 211 216
La présentation débute par les dates d'observation avec en premier l'EHJD (Eros Heliocentric Julian Day), le jour julien héliocentrique corrigé Eros (voir ExtendedLightcurve), puis le jour julien modifié "standard" (MJD). La date d'observation telle qu'elle apparait dans le suivi est présentée ensuite sous la forme numérique codée dans le suivi (Tstart) puis convertie en une date locale. La nuit d'observation est également indiquée. C'est en effet le code de la nuit qui est utilisé pour construire le nom des images. Le nom de l'image est présentée ensuite.
Le reste de la présentation montre les différentes valeurs liées à la mesure réalisée telle qu'elles sont enregistrées dans le suivi: flux, erreur sur le flux, position X et Y de l'étoile, et autres...
Présentation bicolore
Le mode ‟bicolore” correspond au cas où l'ensemble des suivis du même quart de CCD sont sélection afin de regrouper les présentations pour les deux couleurs.
% jrun RawCurve -verb 72 data/eros2/suivis/lm010*p5*.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01000krp501.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01000krp502.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01000krp503.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01000krp504.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01000krp505.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01000krp506.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01010kbp501.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01010kbp502.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01010kbp503.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01010kbp504.sv
26-May-2021 14:42 (INFO) Reading suivi data\eros2\suivis\lm01010kbp505.sv
26-May-2021 14:43 (INFO) Reading suivi data\eros2\suivis\lm01010kbp506.sv
26-May-2021 14:43 (INFO) Building raw cuve
Ehjd Mjd Tstart Observation Nuit ImageRed ImageBlue FluxRed FluxBlue ErrFlxR ErrFlxB XRed XBlue YRed YBlue Xi2R Xi2B FondR FondB Flx0R Flx0B Fnd0R Fnd0B Xi20R Xi20B S9PixR S9PixB PixMaxR PixMaxB SigXR SigXB SigYR SigYB
---------- ---------- --------- -------------------- ----------- ----------------- ----------------- ---------- ---------- ------- ------- ---- ----- ----- ----- ---------- ---------- ----- ----- ----- ----- ----- ----- ----- ----- ------ ------ ------- ------- ----- ----- ----- -----
294.92176 50294.4201 207558299 30-Jul-1996:06:04:59 29-Jul-1996 lm01000trr6g29121 lm01010tbr6g29121 66.095 -9999.000 9062 519 265 0 5988 6954 1.6289196 -2000.0 102 -999 -4 66 105 0 2534 -700 -37 73 100 0 211 0 216 0
296.92857 50296.4268 207731679 01-Aug-1996:06:14:39 31-Jul-1996 lm01000trr6g31147 lm01010tbr6g31147 -1095.073 -9999.000 3786 519 498 0 6119 7036 1.7809194 -2000.0 2602 -999 -4 66 105 0 -10 -700 -37 73 2594 0 211 0 216 0
303.90878 50303.4071 208334774 08-Aug-1996:05:46:14 07-Aug-1996 lm01000trr6h0759 lm01010tbr6h0759 -2448.510 -9999.000 2270 519 879 263 6381 7328 2.1035507 -2000.0 1514 -999 -4 66 105 0 -12 -12 -37 73 1357 828 211 0 216 0
315.90198 50315.4002 209370976 20-Aug-1996:05:36:16 19-Aug-1996 lm01000trr6h1978 lm01010tbr6h1978 -2679.031 -9999.000 1425 519 913 279 5433 6353 2.621788 -2000.0 1336 -999 -4 66 105 0 -10 -10 -37 73 1308 637 211 0 216 0
324.83806 50324.3364 210143065 29-Aug-1996:04:04:25 28-Aug-1996 lm01000trr6h28121 356.836 12245 142 5944 0.95331544 3467 -4 105 -10 -37 3484 211 216
326.84026 50326.3387 210316060 31-Aug-1996:04:07:40 30-Aug-1996 lm01010tbr6h30107 -9999.000 519 0 6956 -2000.0 -999 66 0 -700 73 0 0 0
326.84836 50326.3467 210316758 31-Aug-1996:04:19:18 30-Aug-1996 lm01000trr6h30109 lm01010tbr6h30109 -353.551 -9999.000 8109 519 572 0 5769 6712 1.7885089 -2000.0 2691 -999 632 66 1119 0 -10 -10 4976 73 2685 0 336 0 316 0
331.88154 50331.3799 210751621 05-Sep-1996:05:07:01 04-Sep-1996 lm01000trr6i04124 -9999.000 436 0 3466 -2000.0 -999 -4 105 -700 -37 0 211 216
342.83169 50342.3301 211697723 16-Sep-1996:03:55:23 15-Sep-1996 lm01000trr6i15102 lm01010tbr6i15102 -9999.000 -9999.000 436 519 0 0 3659 4580 -2000.0 -2000.0 -999 -999 -4 66 105 0 -700 -700 -37 73 0 0 211 0 216 0
354.87292 50354.3714 212738088 28-Sep-1996:04:54:48 27-Sep-1996 lm01000trr6i27106 -9999.000 436 82 3277 -2000.0 -999 -4 105 -12 -37 2975 211 216
355.83131 50355.3714 212824493 29-Sep-1996:04:54:53 28-Sep-1996 lm01000trr6i2856 lm01010tbr6i2856 -9999.000 -9999.000 436 519 0 0 3261 4207 -2000.0 -2000.0 -999 -999 -4 66 105 0 -700 -700 -37 73 0 0 211 0 216 0
365.75563 50365.2542 213678363 09-Oct-1996:02:06:03 08-Oct-1996 lm01000trr6j0890 lm01010tbr6j0890 -9999.000 -9999.000 436 519 0 0 3918 4844 -2000.0 -2000.0 -999 -999 -4 66 105 0 -700 -700 -37 73 0 0 211 0 216 0
371.81918 50371.3178 214202261 15-Oct-1996:04:37:41 14-Oct-1996 lm01000trr6j14124 lm01010tbr6j14124 -9999.000 -9999.000 436 519 0 0 3043 3990 -2000.0 -2000.0 -999 -999 -4 66 105 0 -700 -700 -37 73 0 0 211 0 216 0
Les informations présentées concernent cette fois les mesures réalisées dans les deux couleurs. Les colonnes sont donc doublées, une en rouge, la seconde en bleue, sauf pour ce qui concerne les dates puisque l'image rouge et l'image bleue sont réalisées simultanément durant la même observation.
Suivi Convert
SuiviConverter converti un suivi d'un format vers un autre.
La conversion est pilotée par l'extension des noms des suivis. Pour être possible, le format du fichier à convertir doit être supporté en lecture et le format du fichier de destination doit l'être en écriture.
La conversion d'un suivi binaire traditionnel vers le format Json, par exemple, est possible, le format binaire étant supporté en lecture, mais la conversion inverse ne l'est pas, ce format binaire n'étant pas supporté en écriture.
Usage
L'application étant d'un usage réduit, elle n'est accessible que grâce à la commande de lancement jrun.
jrun SuiviConvert <input-sv> <output-sv>
Les formats supportés sont les suivants:
| Extension | Format | Direction | Support |
|---|---|---|---|
| json | Json | lecture/écriture | complet |
| json.gz | Json comprimé | lecture/écriture | complet |
| sv | Natif binaire | lecture seule | complet |
| tab | Tabulé | écriture seule | partiel |
| csv | CSV | écriture seule | partiel |
Le support est complet lorsque toutes les valeurs du fichier sont prises en compte. A l'inverse, dans le cas d'un support partiel, les valeurs complexes, comme par exemple les tableaux, sont (provisoirement) laissées de côté.
L'exemple suivant converti un fichier binaire natif en un fichier Json comprimé:
% jrun SuiviConvert lm01000krp501.sv lm01000krp501.json.gz
% dir -lh lm01000krp501.sv
-rw-r--r-- 1 albert LAL+Group(513) 134M 23 mai 11:12 lm01000krp501.sv
% dir -lh lm01000krp501.*
-rw-r--r-- 1 albert LAL+Group(513) 1.3G 23 mai 17:43 lm01000krp501.json
-rw-r--r-- 1 albert LAL+Group(513) 125M 23 mai 17:58 lm01000krp501.json.gz
La conversion Json augmente considérablement la taille du suivi - environ un facteur 10. Mais la compression Gzip sur ce genre de fichier est très efficace et le fichier Json Gzip est même légèrement plus petit que le fichier binaire natif.
Bien évidemment, le temps de chargement des fichiers Json ou Json Gzip est sensiblement augmenté par rapport au fichier binaire.
Python
Un intérêt du format Json est qu'il est naturellement supporté dans de multiples langages de programmation, dont Python, très en vogue en physique actuellement.
L'exemple suivant montre le chargement et la présentation de valeurs lues dans l'entête d'un suivi converti en Json.
import json
json_file = open('lm01000krp501.json')
suivi = json.load(json_file)
print('Nom: ', suivi["name"])
print('nombre d\'étoiles: ', suivi["header"]["nbStars"])
print('nombre d\'images: ', suivi["header"]["nbMesures"])
et le résultat:
% time python jsonload.py
Nom: lm01000krp501
nombre d'étoiles: 32768
nombre d'images: 134
real 0m36.070s
user 0m20.984s
sys 0m14.797s
Evidemment, les performances s'en ressentent.
Note: il y a surement moyen de faire de même avec le fichier Gzippé, mais on attend là les limites de mes connaissances en Python...