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_image *
00072 irplib_imagelist_collapse_stdev_create(const cpl_imagelist * imlist);
00073
00074 cpl_error_code
00075 irplib_detmon_ronbias(cpl_frameset *,
00076 const cpl_parameterlist *,
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 const char *,
00087 const char *,
00088 const char *,
00089 int (*)(const cpl_frame *,
00090 const cpl_frame *));
00091
00092 cpl_error_code
00093 irplib_detmon_ronbias_fill_parlist_default(cpl_parameterlist *,
00094 const char *,
00095 const char *);
00096
00097 cpl_error_code
00098 irplib_detmon_ronbias_fill_parlist(cpl_parameterlist * parlist,
00099 const char *recipe_name,
00100 const char *pipeline_name,
00101 const char * method,
00102 const char * pmethod,
00103 const int preoverscan_degree,
00104 const int random_nsamples,
00105 const int random_sizex,
00106 const int random_sizey,
00107 const int criteria,
00108 const int ref_llx,
00109 const int ref_lly,
00110 const int ref_urx,
00111 const int ref_ury,
00112 const char * stacking_method,
00113 const int stacking_ks_low,
00114 const int stacking_ks_high,
00115 const int stacking_ks_iter,
00116 const int master_shift_x,
00117 const int master_shift_y,
00118 const int ron_llx,
00119 const int ron_lly,
00120 const int ron_urx,
00121 const int ron_ury,
00122 const int exts);
00123
00124
00125 cpl_error_code
00126 irplib_detmon_fill_pernoise_params(cpl_parameterlist *,
00127 const char *,
00128 const char *,
00129 int mode,
00130 const char *direction,
00131 double speed,
00132 int llx,
00133 int lly,
00134 int urx,
00135 int ury,
00136 int kappa,
00137 int exts);
00138
00139 int irplib_detmon_fill_pernoise_params_default(cpl_parameterlist *,
00140 const char *,
00141 const char *);
00142
00143 cpl_error_code
00144 irplib_detmon_pernoise(cpl_frameset *,
00145 const cpl_parameterlist *,
00146 const char *,
00147 const char *,
00148 const char *,
00149 const char *,
00150 const char *,
00151 int (*)(const cpl_frame *,
00152 const cpl_frame *));
00153
00154 cpl_table *
00155 irplib_detmon_pernoise_reduce(cpl_image *);
00156
00157 cpl_error_code
00158 irplib_detmon_dark(cpl_frameset *,
00159 const cpl_parameterlist *,
00160 const char *,
00161 const char *,
00162 const char *,
00163 const char *,
00164 const char *,
00165 const char *,
00166 const char *,
00167 int (*)(const cpl_frame *,
00168 const cpl_frame *));
00169
00170 cpl_error_code
00171 irplib_detmon_fill_dark_params(cpl_parameterlist * parlist,
00172 const char *recipe_name,
00173 const char *pipeline_name,
00174 const char * ron_method,
00175 const char * dsnu_method,
00176 const char * optnir,
00177 int exts);
00178
00179 int
00180 irplib_detmon_fill_dark_params_default(cpl_parameterlist * parlist,
00181 const char *recipe_name,
00182 const char *pipeline_name);
00183
00184 int
00185 irplib_detmon_compare_dits(const cpl_frame *, const cpl_frame *);
00186
00187 double irplib_pfits_get_exptime(const cpl_propertylist *);
00188
00189 cpl_error_code
00190 irplib_detmon_fill_parlist(cpl_parameterlist *,
00191 const char *, const char *, int, ...);
00192
00193 cpl_error_code
00194 irplib_get_clean_mean_window(const cpl_image *,
00195 const int,
00196 const int,
00197 const int,
00198 const int,
00199 const double,
00200 const int,
00201 const double,
00202 double *,
00203 double *);
00204 int
00205 irplib_detmon_retrieve_par(const char *,
00206 const char *,
00207 const char *, const cpl_parameterlist *);
00208
00209
00210 #endif