Cette page regroupe les informations pour le développement de la brique de production d'observables interférométriques pour un plan UV donné.

La vidéoconférence du 21 juin a permis de faire un premier contour de l'outil reporté dans les points ci-dessous que l'on complétera au fur et à mesure des développements itératifs.

Utilisation d'Aspro2 en ligne de commande pour production d'observables interférométriques

Descriptif générale

Entrées

  1. des cubes d'images (modèles rapides ou grilles de modèles). Fichier fits 2D/3D suivant le format des modèles utilisateurs, par ex. issue d'un code de transfert radiatif.
  2. des OIFits d'observation (observables spectro-interférométriques, plan uv, longueurs d'onde, etc), par exemple issu d'une observation réelle.

Sorties

  1. oifits avec les observables spectro-interférométriques identiques aux observations, mais issus des modèles
  2. chi^2 correspondant (éventuellement des cartes de chi^2 si on varie des paramètres géométriques tels que la distance et/ou l'angle de position de l'image)

Traitements

  • calcul des observables (sans modèle d'erreur) en reutilisant la brique UserModel d'ASPRO2 mais pas l'export OIFITS existant car il faut rester au plus pres du format OIFITS en entrée (à étudier en profondeur comment adapter le code)

Proto V1

Deux besoins sont retenus pour la première itération

Besoin 1 : génération des observables interferométriques

Le logiciel doit produire un fichier OIFits avec les données simulées d'un modèle utilisateur d'après le plan UV fourni.

test 1.1

  • jeux de données
    • images d'entrée
      • aeri_rot_1.65um_hr.fits: Image 2D (étoile + disque de gaz) obtenue avec un code de transfert radiatif.
      • image_disco_amhra.fits: Image 3D (étoile + disque de gaz; 3 longueurs d'onde) obtenue avec un code numérique "rapide".
    • oifits d'entrée

    • oifits de sortie (Référence) avec les mesures simulées (outil externe)
      • Fichiers de références IDL_Achernar_all_Pionier_oiDataCalib_2012-09-17--image_disco_amhra.fis et IDL_Achernar_all_Pionier_oiDataCalib_2012-09-17--image_disco_amhra_UD2mas.fits

  • Critères de validation:
    • Le fichier de sortie du logiciel doit être équivalent au fichier Référence :
      • même structure (tables, plan UV, temps ...)
      • seules les valeurs VIS2DATA, (VISAMP, VISPHI) ou T3AMP, T3PHI doivent changer et correspondre à la simulation.

  • Prototype réalisé (2017/7/26):
Aspro2 alpha: http://jmmc.fr/~bourgesl/Aspro2/Aspro2-0.9.9.3beta5.jar

  • Comparaison avec le prototype réalisée (2017/08/08):
    • La comparaison avec une routine externe (routines IDL de Armando) semble être en bon accord pour les V^2 (petites différences probablement provenant de différences par exemple dans l'interpolation de l'image ?). Par contre il y a une grande différence pour la triple amplitude (T3AMP et T3PHI). D'après les testes (cf. fichier de comparaison OIFits Explorer) les différences semblent venir du fait que dans l'outil Aspro2 OIFits processor il y a du bruit qui est introduit. Cette conclusion vient principalement de la comparaison avec le modèle de disque uniforme (fichier image_disco_amhra_UD2mas.fits) pour lequel on connaît les valeurs théoriques des observables.

  • Prototype corrigé (2017/9/11):
Aspro2 public: http://jmmc.fr/~bourgesl/Aspro2/Aspro2-0.9.9.3.jar
    • Correction du calcul des T3 (erreur dans les indices); aucun bruit n'est ajouté aux données simulées
    • Comme T3Phi vaut 0 dans le test, il faudrait un autre modèle de test pour simuler des clôtures aux valeurs intéressantes (et non pas 0 ou PI) ce qui permettra de mieux les comparer

  • Comparaison avec le prototype du 2017/9/11 réalisée (2017/09/15):
    • Test avec disque uniforme de 2 mas: la comparaison avec du prototype corrigé avec une routine externe (routines IDL de Armando) montre (résultats_testes_prototype_2017-09.pdf) que maintenant les clôtures sont proches de la valeurs attendue, mais il y a encore une petite différence (dans le fichier pdf avec les comparaisons on voit une clôture 1e-4 a 1e-5 dans le prototype, quand les routines IDL donnent 1e-10 à 1e-13). Ces tests sont toujours faits avec un disque uniforme.
    • Test avec un modèle "étoile+disque": la comparaison entre les deux routines sont en bon accord (mais certainement il y a toujours les différences du point précédent). Il y a aussi toujours une petite différence en V^2. J'ai remarqué aussi que dans OIFitsExplorer les longueurs d'onde affichées ne correspondent pas à celles du fichier fits avec l'image du modèle. Est-ce que les observables interférométriques sont bien calculées avec les longueurs d'onde du modèle ou une autre valeur ?
      • ASPRO2 utilise les longueurs d'onde du fichier OIFITS fourni (OI_WAVELENGTH) et ne fait aucune interpolation sur les images (en longueur d'onde). Par exemple, si le fichier OIFITS donne lambda = 1.0 2.0 3.0 et que les images fournies sont à 1.5 2.5 3.5, comment ASPRO2 devrait 'corriger' le décalage de 0.5 entre OIFITS et le modèle ?
      • Pour l'instant, il calcule les fréquences spatiales (OIFITS) et utilise l'image la plus proche à partir du modèle: soit Image(1.5), Image(1.5) et Image (2.5) pour les canaux 1.0 2.0 3.0 donc la 3eme image n'est pas utilisée car la distance (2.5-2.0=(3.5-3.0) !
  • Comparaison avec le prototype du 2017/9/11 réalisée (2017/10/13):
    • A cette date j'ai (Armando) rajouté une comparaison plus détaillée entre les OIFits ASPRO2 et ceux des routines IDL de Armando. Les résultats sont inclus dans le fichier résultats_testes_prototype_2017-09.pdf. Dans ce fichier il y a des graphiques calculés avec une routine en Python. C'est intéressant de noter ce teste n'a pas pu être effectué en IDL car la routine read_oidata.pro de J.Monnier n'arrive a lire le OIFits créé par ASPRO2. On voit mieux maintenant les différences entre le prototype et la routine IDL externe. Ces différences sont plus faibles pour le modèle de disque uniforme que pour le modèle "étoile+disque". Probablement ces petites différences sont la conséquence de la différence de gestion des longueurs d'ondes et donc des fréquences spatiales (cf. point précédant).
  • Comparaison avec le prototype du 2017/9/11 réalisée (2017/11/03):
    • Comme suite à la réunion du 16 octobre j'ai (Armando) fait la comparaison entre le prototype et mes routines IDL en utilisant un modèle de disque uniforme de grand diamètre (6 mas). L'image et les résultats sont attachés (image_disco_amhra_UD6mas.fits et resultats_testes_prototype_2017-11.pdf). J'ai aussi changé la gestion des longueurs d'onde pour avoir quelque chose de plus semblable au prototype. Les résultats dans resultats_testes_prototype_2017-11.pdf montrent un bon accord entre les deux routines.

  • Prototype corrigé (2017/11/20):
Aspro2 public: http://jmmc.fr/~bourgesl/Aspro2/Aspro2-0.9.9.4beta1.jar
    • support des nouvelles options: -fast=true/false -supersampling=1..n -math=FAST/DEFAULT
    • voir liste des options ci-dessous:

Il faut utiliser la ligne de commande pour fournir les options:

[-process]         process an OIFITS file and model to compute observables
[-image]           the input FITS model to process
[-input]           the input OIFITS file to process
[-output]          the output OIFITS file to write (optional)
[-fast]            [true] to ignore useless data; false to have highest precision
[-supersampling]   supersampling per spectral channel [3]
[-math]            Math mode: ['FAST'] faster, 'DEFAULT' highest accuracy or 'QUICK' fastest BUT low accuracy

Voici un exemple pour les fichiers de test 1.1:

DIR=./src/test/resources/amhra/
INPUT=Achernar_all_Pionier_oiDataCalib_2012-09-17.fits

IMAGE=aeri_rot_1.65um_hr.fits
OUTPUT="$INPUT--$IMAGE"

java -Djava.awt.headless -jar target/aspro2-TRUNK-jar-with-dependencies.jar -process -input $DIR/$INPUT -image $DIR/$IMAGE -output $DIR/$OUTPUT

IMAGE=image_disco_amhra.fits
OUTPUT="$INPUT--$IMAGE"

java -Djava.awt.headless -jar target/aspro2-TRUNK-jar-with-dependencies.jar -process -input $DIR/$INPUT -image $DIR/$IMAGE -output $DIR/$OUTPUT

ASPRO2 charge le fichier OIFits et le modèle (vérifie que les longueurs d'onde sont compatibles) puis calcule les observables (V2, T3) et VIS (experimental) avec un super-sampling spectral de 9 (9 samples par canal) puis sauvegarde le fichier au format OIFits (V1).

test 1.2

  • Testes du prototype Aspro2-0.9.9.5beta8.jar avec scale et rotate (2018/09/29) (Aspro2 public: http://jmmc.fr/~bourgesl/Aspro2/Aspro2-0.9.9.5beta8.jar)
    • Laurent a ajouté des champs scale (X/Y) pour définir les incréments en milli-arcsec et la rotation en degrés dans le GUI (donc valeurs absolues) et définit de même pour la ligne de commande. Par exemple "-scale 0.02 -rotate 24.5"
    • Plusieurs testes réalisés par Armando:
      • Différence de valeurs d'observables (e.g. V^2) constatée entre Aspro 0.9.9.4 et 0.9.9.5. D'après Laurent, effectivement les V2 sont un peu différentes ~ 8e-3 donc inférieure à 1%. Pour tes tests, Laurent recommande de FIXER les parametres suivants: "-fast=false -supersampling=5". Ainsi tu auras la précision maximale sur les OIFits, de manière reproductible. Cela a été le cas d'après les nouveaux testes d'Armando.
      • Divers testes réalisés avec différentes valeurs et combinaisons de "-scale" et "-rotate" donnent des résultats cohérents.
    • Étant donné que les tests valident la l'utilisation de rotate et scale nous allons faire les modifications pour introduire ces deux paramètres dans le prototype de l'outil de simulation (OIFitsModeler), pour qu'ils apparaissent dans l'interface web AMHRA.

Besoin 2 : fonctionner en ligne de commande

Le logiciel doit pouvoir être exécuté en ligne de commande. Pas de GUI.

* version python en ligne de commande (2018/05/19):

  • Une version en ligne de commande en python a été créée (Armando) pour générer N oifits modèle avec aspro2 à partir de N oifits d'observation pour une image de modèle donnée comme entrée. Les chi^2 sont également calculés et écrits dans le header principal de chaque oifits modèle. J'ai placé un fichier .zip (oifitsmodeler_2018-05-18.zip) qui permet de tester la routine en ligne de commande avec un exemple contenant 2 oifits data, 1 image de modèle, 1 fichier d'input demandé par python, 1 script .sh pour lancer aspro2. Il faut aussi avoir un répertoir vide (e.g. oifits_model) pour contenir les oifits modèle. Pour lancer la roune python (3.X) il faut faire ceci: python oifitsmodeler.py test_input_oifitsmodeler.txt

test 2.2

  • TODO : fournir
    • url du programme
    • syntaxe de la commande

  • Critères de validation:
    • La commande
      • doit produire un fichier de sortie si les entrées sont valides
      • doit générer une erreur si les entrées sont invalides

Plan de travail / Protos futurs

Lister ci-dessous les futurs besoins qui seront rajoutés au protos suivants après décision commune.

Besoin 3 : calcul d'un chi^2 / carte de chi^2

un programme doit pouvoir calculer un chi^2 ()

Note
OIFitsExplorer intégrera prochainement la possibilité de plotter simultanément obs/simu et rajouter l'info de chi^2 sera une excellente nouveauté smile

test 3.1

* TODO fournir le chi^2 ou la carte de chi^2 pour le fichier de référence de sortie du test 1.1

Besoin 4 : adoption du format de fichier standardisé pour IMAGE-OI pour le stockage des observables simulées

Le fichier de sortie doit correspondre au fichier d'entrée complété par les nouvelles colonnes
New column in OI VIS table
Label Format Description
MODEL VISAMP D(NWAVE ) Model of the visibility amplitude
MODEL VISAMPERR D(NWAVE ) Model of the error in visibility amplitude (optional)
MODEL VISPHI D(NWAVE ) Model of the visibility phase in degrees
MODEL VISPHIERR D(NWAVE ) Model of the error in visibility phase in degrees (optional)
New column in OI VIS2 table
Label Format Description
MODEL VIS2 D(NWAVE ) Model of the squared visibility
MODEL VIS2ERR D(NWAVE ) Model of the error in squared visibility (optional)
New columns in OI T3 table
Label Format Description
MODEL T3AMP D(NWAVE ) Model of the triple-product amplitude
MODEL T3AMPERR D(NWAVE ) Model of the error in triple-product amplitude (optional)
MODEL T3PHI D(NWAVE ) Model of the triple-product phase in degrees
MODEL T3PHIERR D(NWAVE ) Model of the error in triple-product phase in degrees (optional)

Voir le document de standardisation en ligne (table 3 en particulier):

test 4.1

  • reprendre le jeu de fichiers de test 1.1 avec
    • image d'entrée
    • oifits d'entrée
    • oifits de sortie de référence avec les mesures simulées dans les nouvelles colonnes

  • Critères de validation:
    • Le fichier de sortie du logiciel doit être équivalent au fichier de résultat de test 3 :
      • même structure (tables, plan UV, temps ...)
      • les colonnes VIS2DATA VISDATA ou T3 doivent correspondre exactement au fichier d'entrée
      • les colonnes MODEL_VIS2DATA MODEL_VISDATA ou MODEL_T3 doivent correspondre exactement au fichier de référence

Besoin 5 : intégration dans le GUI ?

  • est-ce utile dans l'interface graphique ASPRO2 de pouvoir extraire les conditions d'observations (target, interferometre, instrument = lambda + uv) d'un OIFITS et donc de gérer des données OIFITS ou juste le plan UV dans ASPRO2 ?

  • pouvoir sélectionner des modèles (de cartes issues de codes/services externes) directement depuis l'interface d'Aspro (ici l'OIFits serait calculé suivant la config instrumentale interne à Aspro)
    • faire le recensement des codes existants

Notes/remarques pour le plus long terme

  • réutiliser le modèle de bruit d'ASPRO2

Topic attachments
I Attachment History Action Size Date WhoSorted ascending Comment
Unknown file formatfits Achernar_all_Pionier_oiDataCalib_2012-09-17.fits r1 manage 47.8 K 2017-06-23 - 12:25 ArmandoDomiciano OIFITS contenant des vraies observation PIONIER d'une étoile Be (étoile + disque de gaz). Description de ces données dans Domiciano de Souza et al. 2014, A&A, 569, A10
Unknown file formatfits IDL_Achernar_all_Pionier_oiDataCalib_2012-09-17--image_disco_amhra.fits r1 manage 47.8 K 2017-08-08 - 13:39 ArmandoDomiciano OIFITS for the configuration in Achernar_all_Pionier_oiDataCalib_2012-09-17.fits and for the input model image_disco_amhra.fits
Unknown file formatfits IDL_Achernar_all_Pionier_oiDataCalib_2012-09-17--image_disco_amhra_UD2mas.fits r1 manage 47.8 K 2017-08-08 - 13:40 ArmandoDomiciano OIFITS for the configuration in Achernar_all_Pionier_oiDataCalib_2012-09-17.fits and for the input model image_disco_amhra_UD2mas.fits
Unknown file formatfits aeri_rot_1.65um_hr.fits r1 manage 4021.9 K 2017-06-23 - 12:22 ArmandoDomiciano Image 2D (étoile + disque de gaz) obtenue avec un code de transfert radiatif.
Unknown file formatoixp compare_oifits_UD2mas_model.oixp r1 manage 2.2 K 2017-08-08 - 13:44 ArmandoDomiciano OIFits Explorer file with both oifts (Aspro2 OIFits processor and routine IDL de Armando) for the UD model image_disco_amhra_UD2mas.fits
Unknown file formatoixp compare_oifits_image_disco_amhra.oixp r1 manage 2.2 K 2017-08-08 - 13:44 ArmandoDomiciano OIFits Explorer file with both oifts (Aspro2 OIFits processor and routine IDL de Armando) for the UD model image_disco_amhra.fits
Unknown file formatfits image_disco_amhra.fits r1 manage 1541.2 K 2017-06-23 - 12:23 ArmandoDomiciano Image 3D (étoile + disque de gaz; 3 longueurs d'onde) obtenue avec un code numérique "rapide"
Unknown file formatfits image_disco_amhra_UD2mas.fits r1 manage 1541.2 K 2017-08-08 - 13:27 ArmandoDomiciano Model consisting in a cube of images with a uniform disc with an angular diameter of 2 mas
Unknown file formatfits image_disco_amhra_UD6mas.fits r1 manage 1541.2 K 2017-11-03 - 19:06 ArmandoDomiciano Cube d'image avec un disque uniforme de grand diamètre angulaire (6 mas)
Compressed Zip archivezip oifitsmodeler_2018-05-18.zip r1 manage 1269.3 K 2018-05-18 - 15:41 ArmandoDomiciano Routine pour création de oifits modèle en ligne de commande avec python. Le fichier .zip continen 2 oifits data, 1 image de modèle, 1 fichier d'input demandé par python, 1 script .sh pour lancer aspro2
PDFpdf resultats_testes_prototype_2017-09.pdf r1 manage 672.3 K 2017-10-13 - 16:22 ArmandoDomiciano Graphiques (OiFitsExp et routine Pyhton de Armando) montrants les comparaisons entre les observables (Vis^2 et clôture de phase) calculés avec le prototype et la routine IDL de Armando.
PDFpdf resultats_testes_prototype_2017-11.pdf r1 manage 158.5 K 2017-11-03 - 19:08 ArmandoDomiciano Résultats des la comparaison (V^2 et CP) entre le prototype et la routine IDL (Armando) pour le modèle de disque uniforme avec 6 mas de diamètre angulaire.
Edit | Attach | Watch | Print version | History: r18 < r17 < r16 < r15 < r14 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r18 - 2018-10-22 - ArmandoDomiciano
 
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