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:

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