00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef IRPLIB_DETMON_H
00029 #define IRPLIB_DETMON_H
00030
00031
00032
00033
00034
00035 #include <cpl.h>
00036
00037
00038
00039
00040
00041
00042
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 #undef REGEXP
00069 #define REGEXP "ARCFILE|MJD-OBS|ESO TPL ID|DATE-OBS|ESO DET DIT|ESO DET NDIT"
00070
00071 cpl_error_code
00072 irplib_detmon_ronbias(cpl_frameset *,
00073 const cpl_parameterlist *,
00074 const char *,
00075 const char *,
00076 const char *,
00077 const char *,
00078 const char *,
00079 const char *,
00080 const char *,
00081 const char *,
00082 const char *,
00083 const char *,
00084 const char *,
00085 const char *,
00086 int (*)(const cpl_frame *,
00087 const cpl_frame *));
00088
00089 cpl_error_code
00090 irplib_detmon_ronbias_fill_parlist_default(cpl_parameterlist *,
00091 const char *,
00092 const char *);
00093
00094 cpl_error_code
00095 irplib_detmon_ronbias_fill_parlist(cpl_parameterlist * parlist,
00096 const char *recipe_name,
00097 const char *pipeline_name,
00098 const char * method,
00099 const char * pmethod,
00100 const int preoverscan_degree,
00101 const int random_nsamples,
00102 const int random_sizex,
00103 const int random_sizey,
00104 const int criteria,
00105 const int ref_llx,
00106 const int ref_lly,
00107 const int ref_urx,
00108 const int ref_ury,
00109 const char * stacking_method,
00110 const int stacking_ks_low,
00111 const int stacking_ks_high,
00112 const int stacking_ks_iter,
00113 const int master_shift_x,
00114 const int master_shift_y,
00115 const int ron_llx,
00116 const int ron_lly,
00117 const int ron_urx,
00118 const int ron_ury,
00119 const int exts);
00120
00121
00122 cpl_error_code
00123 irplib_detmon_fill_pernoise_params(cpl_parameterlist *,
00124 const char *,
00125 const char *,
00126 int mode,
00127 const char *direction,
00128 double speed,
00129 int llx,
00130 int lly,
00131 int urx,
00132 int ury,
00133 int kappa,
00134 int exts);
00135
00136 int irplib_detmon_fill_pernoise_params_default(cpl_parameterlist *,
00137 const char *,
00138 const char *);
00139
00140 cpl_error_code
00141 irplib_detmon_pernoise(cpl_frameset *,
00142 const cpl_parameterlist *,
00143 const char *,
00144 const char *,
00145 const char *,
00146 const char *,
00147 const char *,
00148 int (*)(const cpl_frame *,
00149 const cpl_frame *));
00150
00151 cpl_table *
00152 irplib_detmon_pernoise_reduce(cpl_image *);
00153
00154 cpl_error_code
00155 irplib_detmon_dark(cpl_frameset *,
00156 const cpl_parameterlist *,
00157 const char *,
00158 const char *,
00159 const char *,
00160 const char *,
00161 const char *,
00162 const char *,
00163 const char *,
00164 int (*)(const cpl_frame *,
00165 const cpl_frame *));
00166
00167 cpl_error_code
00168 irplib_detmon_fill_dark_params(cpl_parameterlist * parlist,
00169 const char *recipe_name,
00170 const char *pipeline_name,
00171 const char * ron_method,
00172 const char * dsnu_method,
00173 const char * optnir,
00174 int exts);
00175
00176 int
00177 irplib_detmon_fill_dark_params_default(cpl_parameterlist * parlist,
00178 const char *recipe_name,
00179 const char *pipeline_name);
00180
00181 int
00182 irplib_detmon_compare_dits(const cpl_frame *, const cpl_frame *);
00183
00184 double irplib_pfits_get_exptime(const cpl_propertylist *);
00185
00186 cpl_error_code
00187 irplib_detmon_fill_parlist(cpl_parameterlist *,
00188 const char *, const char *, int, ...);
00189
00190 cpl_error_code
00191 irplib_get_clean_mean_window(const cpl_image *,
00192 const int,
00193 const int,
00194 const int,
00195 const int,
00196 const double,
00197 const int,
00198 const double,
00199 double *,
00200 double *);
00201 int
00202 irplib_detmon_retrieve_par(const char *,
00203 const char *,
00204 const char *, const cpl_parameterlist *);
00205
00206
00207 #endif