/*--------------------------------------------------------------------------- File name : wavelength.h Author : Y. Jung Created on : July 2000 Description : ISAAC common function to handle with wl calibration *--------------------------------------------------------------------------*/ /* $Id: wavelength.h,v 1.2 2001/07/30 12:00:27 yjung Exp $ $Author: yjung $ $Date: 2001/07/30 12:00:27 $ $Revision: 1.2 $ */ #ifndef _IS_UTILS_WAVELENGTH_H_ #define _IS_UTILS_WAVELENGTH_H_ /*--------------------------------------------------------------------------- Function prototypes ---------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/ /** @name spectro_jitter_wlcalib @memo Compute the wavelength calibration for jitter recipes @param nb_coeff nb of coeffs requested for the output polynomial @param use_arc Flag that specifie that arc table has to be used @param arc_file Arc table @param framelist Cleaned list of input frames @param nbframes nb of frames in the list @param spec_length image liength in spec direction (in pixels) @param sky_frame Frame used for sky calibration @param filter_sky_flag Flag to use or not filter @param discard_lo @param discard_hi regions to discard before calibration @param discard_le @param discard_ri @param status_arc status for arc calibration. MODIFIED @param status_sky status for sky calibration. MODIFIED @param status status for calibration. MODIFIED @return dispersion polynomial coefficients */ /*--------------------------------------------------------------------------*/ double * spectro_jitter_wlcalib( int nb_coeff, int use_arc, char * arc_file, char ** framelist, int nbframes, int spec_length, char * sky_frame, int filter_sky_flag, int discard_lo, int discard_hi, int discard_le, int discard_ri, int * status_arc, int * status_sky, int * status) ; /*-------------------------------------------------------------------------*/ /** @name isaac_get_disprel_estimate @memo from a physical model of the instrument, find out the wavelength range associated to a given instrument configuration. Information are fetched from the FITS header. @param filename input file name @param nbpix nb of pixels to calibrate @param poly_deg polynomial degree @return newly allocated array of 3 polynomical coefficients, such as wave = c[0] + c[1] * pix + c[2] * pix * pix @doc returns NULL in case of error */ /*--------------------------------------------------------------------------*/ double * isaac_get_disprel_estimate(char * filename, int nbpix, int poly_deg) ; /*-------------------------------------------------------------------------*/ /** @name isaac_get_disprel_estimate_from_list @memo the same as isaac_get_disprel_estimate, but on several frames (in case the keywords are not present in the first file, try with the second, and so on...) @param lnames list of files names @param nbfiles number of files @param nbpix number of pixels to calibrate @param poly_deg polynomial degree @return the same as isaac_get_disprel_estimate */ /*--------------------------------------------------------------------------*/ double * isaac_get_disprel_estimate_from_list( char ** lnames, int nbfiles, int nbpix, int poly_deg) ; /*-------------------------------------------------------------------------*/ /** @name isaac_physical_model @memo computes a wavelength calibration thanks to a physical model and infos from the header @param lambda_c central wavelength @param objective slit used @param resolution resolution (medium or low) @param nbpix number of pixels to calibrate @return wavelength coefficients */ /*--------------------------------------------------------------------------*/ double * isaac_physical_model( double lambda_c, char * objective, char * resolution, int nbpix) ; #endif