irplib_detmon.h

00001 /* $Id: irplib_detmon.h,v 1.36 2007/11/06 17:48:15 lbilbao Exp $
00002  *
00003  * This file is part of the irplib package
00004  * Copyright (C) 2002, 2003 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
00019  */
00020 
00021 /*
00022  * $Author: lbilbao $
00023  * $Date: 2007/11/06 17:48:15 $
00024  * $Revision: 1.36 $
00025  * $Name: uves-3_4_5 $
00026  */
00027 
00028 #ifndef IRPLIB_DETMON_H
00029 #define IRPLIB_DETMON_H
00030 
00031 /*----------------------------------------------------------------------------
00032                                    Includes
00033  ----------------------------------------------------------------------------*/
00034 
00035 #include <cpl.h>
00036 
00037 /*----------------------------------------------------------------------------
00038                                    Prototypes
00039  ----------------------------------------------------------------------------*/
00040 
00041 
00042 /* Macros to generate the recipe(s) description(s) */
00043 #define irplib_detmon_ronbias_get_description(RECIPE_NAME, PIPE_NAME,          \
00044                                               DETMON_RONBIAS_RAW)              \
00045     RECIPE_NAME " -- " PIPE_NAME " linearity/gain recipe for IR.\n"            \
00046     "The files listed in the Set Of Frames must be tagged:\n"                  \
00047     "raw-file.fits  "DETMON_RONBIAS_RAW"\n"
00048 
00049 #define irplib_detmon_pernoise_get_description(RECIPE_NAME, PIPE_NAME,         \
00050                                               DETMON_PERNOISE_RAW)             \
00051     RECIPE_NAME " -- " PIPE_NAME " Recipe for Periodic Noise Characterisation.\n"            \
00052     "The files listed in the Set Of Frames must be tagged:\n"                  \
00053     "raw-file.fits  "DETMON_PERNOISE_RAW"\n"
00054 
00055 #define irplib_detmon_dark_get_description(RECIPE_NAME, PIPE_NAME,         \
00056                                               DETMON_DARK_RAW)             \
00057     RECIPE_NAME " -- " PIPE_NAME " Dark Recipe.\n"            \
00058     "The files listed in the Set Of Frames must be tagged:\n"                  \
00059     "raw-file.fits  "DETMON_DARK_RAW"\n"
00060 
00061 #define RANDOM       ((ronbias_method) 1 << 1)
00062 #define HISTO        ((ronbias_method) 1 << 2)
00063 #define PREOVERSCAN  ((ronbias_method) 1 << 3)
00064 #define REGION       ((ronbias_method) 1 << 4)
00065 
00066 typedef unsigned long ronbias_method;
00067 
00068 cpl_error_code
00069 irplib_detmon_ronbias(cpl_frameset      *,
00070                       const cpl_parameterlist *,
00071                       const char        *,
00072                       const char        *,
00073                       const char        *,
00074                       const char        *,
00075                       const char        *,
00076                       const char        *,
00077                       const char        *,
00078                       const char        *,
00079                       int              (*)(const cpl_frame *,
00080                                            const cpl_frame *));
00081 
00082 cpl_error_code
00083 irplib_detmon_fill_ronbias_params(cpl_parameterlist *,
00084                                   const char *,
00085                                   const char *);
00086 
00087 cpl_error_code
00088 irplib_detmon_fill_pernoise_params(cpl_parameterlist *,
00089                                    const char *,
00090                                    const char *,
00091                                    int mode,
00092                                    const char *direction,
00093                                    double speed,
00094                                    int llx,
00095                                    int lly,
00096                                    int urx,
00097                                    int ury,
00098                                    int kappa,
00099                                    int exts);
00100 
00101 int irplib_detmon_fill_pernoise_params_default(cpl_parameterlist        *,
00102                               const char        *,
00103                               const char        *);
00104 
00105 cpl_error_code
00106 irplib_detmon_pernoise(cpl_frameset      *,
00107                       const cpl_parameterlist *,
00108                       const char        *,
00109                       const char        *,
00110                       const char        *,
00111                       const char        *,
00112                       const char        *,
00113                       int              (*)(const cpl_frame *,
00114                                            const cpl_frame *));
00115 
00116 cpl_table *
00117 irplib_detmon_pernoise_reduce(cpl_image       *);
00118 
00119 cpl_error_code
00120 irplib_detmon_dark(cpl_frameset      *,
00121                    const cpl_parameterlist *,
00122                    const char        *,
00123                    const char        *,
00124                    const char        *,
00125                    const char        *,
00126                    const char        *,
00127                    const char        *,
00128                    const char        *,
00129                    int              (*)(const cpl_frame *,
00130                                         const cpl_frame *));
00131 
00132 cpl_error_code
00133 irplib_detmon_fill_dark_params(cpl_parameterlist * parlist,
00134                                const char *recipe_name,
00135                                const char *pipeline_name,
00136                                const char * ron_method,
00137                                const char * dsnu_method,
00138                                const char * optnir,
00139                                int exts);
00140 
00141 int
00142 irplib_detmon_fill_dark_params_default(cpl_parameterlist * parlist,
00143                                        const char *recipe_name,
00144                                        const char *pipeline_name);
00145 
00146 
00147 cpl_table ** irplib_detmon_table_new(int nexts);
00148 cpl_propertylist ** irplib_detmon_propertylist_new(int nexts);
00149 
00150 cpl_image ** irplib_detmon_image_new(int nexts);
00151 cpl_imagelist ** irplib_detmon_imagelist_new(int nexts);
00152 
00153 void irplib_detmon_table_delete(cpl_table ** d, int nexts);
00154 void irplib_detmon_propertylist_delete(cpl_propertylist ** d, int nexts);
00155 void irplib_detmon_imagelist_delete(cpl_imagelist ** d, int nexts);
00156 void irplib_detmon_image_delete(cpl_image ** d, int nexts);
00157 
00158 int
00159 irplib_detmon_compare_dits(const cpl_frame *, const cpl_frame *);
00160 
00161 double                  irplib_pfits_get_exptime(const cpl_propertylist *);
00162 
00163 int
00164 irplib_detmon_fill_parlist(cpl_parameterlist *,
00165                            const char *, const char *, int, ...);
00166 
00167 cpl_error_code
00168 irplib_get_clean_mean_window(const cpl_image *,
00169                              const int,
00170                              const int,
00171                              const int,
00172                              const int,
00173                              const int, const int, double *, double *);
00174 int
00175 irplib_detmon_retrieve_par(const char *,
00176                             const char *,
00177                             const char *, const cpl_parameterlist *);
00178 
00179 
00180 #endif

Generated on Thu Nov 15 14:32:25 2007 for UVES Pipeline Reference Manual by  doxygen 1.5.1