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 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