Plugin Yorick pour la librairie amdlib

Introduction

Le but est de cette activité consiste à:
  • mettre en place la génération automatique du plugin Yorick des fonctions de la librarie de réduction de données amdlib,
  • extraire (du module ammyorick), remettre en forme et documenter les fonctions Yorick strictement nécessaires à la réduction des données AMBER,
  • extraire le plugin cftisio
  • finaliser la procédure check data quality
  • reprendre la génération du fichier pdf
  • fournir une procédure d'installation simplifiée
  • finaliser la documentation utilisateur

Le reponsable scientifique est FabienMalbet, et la responsable technique est EvelyneAltariba.

Description détaillée

Le plugin Yorick est intégré au module amdlib actuel, dans le réperoire yorick. Pour le besoin du développement de ce plugin, le module amdlib est archivé sous CVS sur le serveur du LAOG.

Génération du plugin

Le fichier d'interface amdlibYorick.i et la librairie amdlib.so sont générés automatiquement à partir des fichiers de déclaration amdlib.h et amdlibYorick.h, en exécutant les commandes suivantes dans le répertoire yorick.
   yorick -batch make.i
   make update
   make all install

La liste des fonction du plugin sont les suivantes:

Ancien nom Nouveau nom Reprise Testée
amdlibVersion - Oui Non
amdlibLoadRawData - Oui Non
amdlibLoadRawDataHdr - Oui Non
amdlibLoadRawFrames - Oui Non
amdlibCalibrateRawData - Oui Non
amdlibGetRawData - Oui Non
amdlibSetRawData - Oui Non
amdlibLoadBadPixelMap - Oui Non
amdlibSetBadPixelMap - Oui Non
amdlibGeneratePixelBiasData - Oui Non
amdlibGetPixelBiasData - Oui Non
amdlibSetPixelBiasData - Oui Non
amdlibCreatePixelBiasData - Oui Non
amdlibSetFlatFieldMap - Oui Non
amdlibLoadFlatFieldMap - Oui Non
amdlibGetWaveDataFromRawData - Oui Non
amdlibGetOiArrayFromRawData - Oui Non
amdlibRawData2ScienceData - Oui Non
amdlibGetOiTargetFromRawData - Oui Non
amdlibGetScienceData - Oui Non
amdlibSetScienceData - Oui Non
amdlibLoadP2VM - Oui Non
amdlibGetP2vm - Oui Non
amdlibAddToP2vmData - Oui Non
amdlibComputeP2VM - Oui Non
amdlibSaveP2VM - Oui Non
amdlibComputeVisibilities - Oui Non
amdlibWriteOiFile - Oui Non
amdlibReadOiFile - Oui Non
amdlibGetPhot - Oui Non
amdlibGetVis - Oui Non
amdlibGetVis2 - Oui Non
amdlibGetVis3 - Oui Non
amdlibGetWavelength - Oui Non
amdlibGetPiston - Oui Non

Extraction et reprise des fonctions Yorick

La reprise consiste principalement à documenter les fonctions et appliquer les règles de programmation (plus précisément de nommage) du langage C. La liste des fonctions à reprendre est la suivante:

Ancien nom Nouveau nom Reprise Testée Fichier Description
ammyorickP2VM   Non Non    
ammyorickUtils   Non Non    
ammyorickVis   Non Non    
ammyorickEasyUse   Non Non    
ammyorickMaintenance   Non Non    
ammyorickSim   Non Non    
depla   Non Non    
ammyorickRawData   Non Non    
ammyorickSpecCalib   Non Non    
ammyorickDataQuality   Non Non    
latexUtils   Non Non    
linfit   Non Non    
plg_err   Non Non    
plmenu amdlibManageFileChooser Oui Non amdlibAutoLog.i Display a file/directory browser and manage the user's choice
pondAvg   Non Non    
strReplace _amdlibStrReplace Oui Non amdlibAutoLog.i Reurns a a copy of one string after having replaced a substring by another one
strkot _amdlibStrkot Oui Non amdlibAutoLog.i variant of strtok function
strsep _amdlibStrsep Oui Non amdlibAutoLog.i Splits a string array and output the result after deleting the delimiter
unwrap   Non Non    
generateDoc   Non Non    
remove_multiple   Non Non    
ammyorickUVW   Non Non    
makeAutolog amdlibCreateAutolog Oui Non amdlibAutoLog.i Creates a new automatic log file
readAutolog amdlibReadAutolog Oui Non amdlibAutoLog.i Reads an automatic log file
menuChoose _amdlibMenuChooseBox Oui Non amdlibAutoLog.i Open graphic box to navigate across directories and choose a file or a directory
pldir _amdlibDisplayFiles Oui Non amdlibAutoLog.i display files and directories.
listDir _amdlibListDirs Oui Non amdlibAutoLog.i lists the content of a given directory
extractDirsHiddens _amdlibExtractHiddens Oui Non amdlibAutoLog.i List files and/or directories according to the fact they are visible or hidden
getCroppedText _amdlibGetCroppedText - ???? Non Non amdlibAutoLog.i  
scrollBarPlot _amdlibPlotScrollBar Oui Non amdlibAutoLog.i Plots a scroll bar
checkText _amdlibCheckText - ???? Non Non amdlibAutoLog.i  
get_files_keys _amdlibGetKwdVals Oui Non amdlibAutoLog.i Reads keywords' values in the fits files specified in a given array
str2long _amdlibStr2Long Oui Non amdlibAutoLog.i Convert a string into a long integer
is_AMBER_CALfile _amdlibIsCalFile Oui Non amdlibAutoLog.i Determine if files given as input are calibration ones or not
lsltr _amdlibListCurrentDir Oui Non amdlibAutoLog.i lists files and directories within the current working directory
lecmanchar _amdlibList2String Oui Non amdlibAutoLog.i Get a list of files and dirs, and split it to store info in a string array
autoComputeP2VM amdlibAutoComputeP2vm Oui Non amdlibP2VM.i Compute all possible P2VMs from a set of calibration files.
cutFileName _amdlibSplitFileName Oui Non amdlibP2VM.i Split file name into 3 strings: directory, name and extension
ComputeP2VM amdlibComputeOneP2vm Oui Non amdlibP2VM.i Compute a P2VM
showP2VM amdlibShowP2vm Oui Non amdlibP2VM.i Plots the most relevant data contained in the specified P2VM file
loadP2VM amdlibLoadOneP2vm Oui Non amdlibP2VM.i Load specified P2VM file
getTimestamp _amdlibGetTimeStamp Oui Non amdlibP2VM.i Return the time stamp
autoComputeVis amdlibAutoComputeVis Oui Non amdlibVis.i Compute all OI-FITS files relative to all observation files given
computeTime _amdlibComputeTime Oui Non amdlibVis.i From an AMBER date format, returns a number of seconds
str2double _amdlibStr2Double Oui Non amdlibVis.i Convert a string into a double precision float
ComputeVis amdlibComputeOneVis Oui Non amdlibVis.i Computes visibilities of an observation file and store them in OI-FITS file.
showVis amdlibShowVis Oui Non amdlibVis.i Plots the most relevant data contained in the specified OI-FITS file
loadVis amdlibLoadOifitsFile Oui Non amdlibVis.i Load specified OI-FITS file.
readVis _amdlibReadVis Oui Non amdlibVis.i Load visibility data and store them into yorick arrays
correctNans _amdlibCorrectNans Oui Non amdlibVis.i replaces all the "not a number" (NaN) values in an array
isNan _amdlibIsNan Oui Non amdlibVis.i Check if the figure is tagged as NaN
isInf _amdlibIsInf Oui Non amdlibVis.i Check if the figure is tagged as infinite
correctInfs _amdlibCorrectInfs Oui Non amdlibVis.i replaces all the infinite values in an array
getCpxVis _amdlibGetCpxVis Oui Non amdlibVis.i Get a yorick array containing the complex weighted visibilities.
getErrCpxVis _amdlibGetErrCpxVis Oui Non amdlibVis.i Get a yorick array containing the errors on complex weighted visibilities.
getDiffVis _amdlibGetDiffVis Oui Non amdlibVis.i Get a yorick array containing the differential visibilities values
getErrDiffVis _amdlibGetErrDiffVis Oui Non amdlibVis.i Get a yorick array containing the errors on differential visibilities
getDiffPhase _amdlibGetDiffPhase Oui Non amdlibVis.i Get a yorick array containing the differential phase values
getErrDiffPhase _amdlibGetErrDiffPhase Oui Non amdlibVis.i Get a yorick array containing the errors on the differential phase
getVis2 _amdlibGetVis2 Oui Non amdlibVis.i Get a yorick array containing the squared visibilities values
getErrVis2 _amdlibGetErrVis2 Oui Non amdlibVis.i Get a yorick array containing the errors on squared visibilities
getClos _amdlibGetClos Oui Non amdlibVis.i Get a yorick array containing the complex bispectrum values
getErrClos _amdlibGetErrClos Oui Non amdlibVis.i Get a yorick array containing the errors on complex bispectrum values
getFrgContrastSNR _amdlibGetFrgContrastSNR Oui Non amdlibVis.i Get a yorick array containing the averaged over the wavelength fringe contrast
getTime _amdlibGetTime Oui Non amdlibVis.i Get a yorick array containing the dates each frame was observed
getFluxPiMorePj _amdlibGetFluxSumPiPj Oui Non amdlibVis.i ??????????????????????
getFluxRatPiPj _amdlibGetFluxRatPiPj Oui Non amdlibVis.i ?????????????????????
getPiMultPj _amdlibGetPiMultPj Oui Non amdlibVis.i ??????????????????????
getPiston _amdlibGetPiston Oui Non amdlibVis.i Get a yorick array containing the achromatic piston values
plotAmberBar Nouveau nom Non Non amdlibGraphics.i Description
cRite Nouveau nom Non Non amdlibGraphics.i Description
plotVisGraphs Nouveau nom Non Non amdlibGraphics.i Description
plotVisMap Nouveau nom Non Non amdlibGraphics.i Description
plotVis Nouveau nom Non Non amdlibGraphics.i Description
plg_err Nouveau nom Non Non amdlibGraphics.i Description

L'avant-dernière colonne indique le nom du fichier dans lequel la nouvelle fonction est définie.

Extraction du plugin cftisio

Le plugin Yorick pour cfitsio doit être un package indépendant de amdlib.

Finalisation de la procédure check data quality

Reprise de la génération du fichier pdf

La génération du fichier pdf résultant de check data quality doit être repris pou utiliser les outils intégrés à Yorick et non plus Latex

Procédure d'installation simplifiée

La procédure d'installation du package amdlib doit être simplifiée. L'installation de Yorick, rlterm, cfitio et fftw doit être faite séparément.

Documentation utilisateur

La documentation utilisateur doit :
  • reflétée la dernière version du logiciel,
  • inclure des exemples,
  • préciser les limites d'utilisation,
  • fournir les justifications scientifiques (référence aux publications)

-- GerardZins - 08 Jan 2007

Edit | Attach | Watch | Print version | History: r79 | r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 2007-01-22 - EvelyneAltariba
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback