28#ifndef IRPLIB_DETMON_RONBIAS_H
29#define IRPLIB_DETMON_RONBIAS_H
45#define DETMON_QC_DUTYCYCL "ESO QC DUTYCYCL"
46#define DETMON_QC_DUTYCYCL_C "DUTYCYCL value (time to store a frame)"
48#define DETMON_QC_MASTER_MEAN "ESO QC MASTER MEAN"
49#define DETMON_QC_MASTER_MEAN_C "Master Mean value"
51#define DETMON_QC_MASTER_RMS "ESO QC MASTER RMS"
52#define DETMON_QC_MASTER_RMS_C "Master RMS value"
54#define DETMON_QC_NBCOLDPIX "ESO QC NBCOLPIX"
55#define DETMON_QC_NBCOLDPIX_C "Number of cold pixels"
57#define DETMON_QC_NBHOTPIX "ESO QC NBHOTPIX"
58#define DETMON_QC_NBHOTPIX_C "Number of hot pixels"
60#define DETMON_QC_NBDEVPIX "ESO QC NBDEVPIX"
61#define DETMON_QC_NBDEVPIX_C "Number of deviating pixels"
63#define DETMON_QC_BIAS_RANDOM_VAL "ESO QC BIAS RANDOM VAL"
64#define DETMON_QC_BIAS_RANDOM_VAL_C "Bias level (random sampling method) [ADU]"
66#define DETMON_QC_BIAS_RANDOM_RON "ESO QC BIAS RANDOM RON"
67#define DETMON_QC_BIAS_RANDOM_RON_C "Bias Read Out Noise (random sampling method) [ADU]"
69#define DETMON_QC_BIAS_HISTO_VAL "ESO QC BIAS HISTO VAL"
70#define DETMON_QC_BIAS_HISTO_VAL_C "Bias level (histogram method) [ADU]"
72#define DETMON_QC_BIAS_HISTO_RON "ESO QC BIAS HISTO RON"
73#define DETMON_QC_BIAS_HISTO_RON_C "Bias Read Out Noise (histogram method) [e- rms]"
75#define DETMON_QC_BIAS_PRESCAN_MEAN "ESO QC BIAS PRESCAN MEAN"
76#define DETMON_QC_BIAS_PRESCAN_MEAN_C "Bias mean level (on prescan region) [ADU]"
78#define DETMON_QC_BIAS_PRESCAN_MED "ESO QC BIAS PRESCAN MED"
79#define DETMON_QC_BIAS_PRESCAN_MED_C "Bias median level (on prescan region) [ADU]"
81#define DETMON_QC_BIAS_PRESCAN_RON "ESO QC BIAS PRESCAN RON"
82#define DETMON_QC_BIAS_PRESCAN_RON_C "Bias Read Out Noise (on prescan region) [e- rms]"
85#define DETMON_QC_BIAS_OVERSCAN_MEAN "ESO QC BIAS OVERSCAN MEAN"
86#define DETMON_QC_BIAS_OVERSCAN_MEAN_C "Bias mean level (on overscan region) [ADU]"
88#define DETMON_QC_BIAS_OVERSCAN_MED "ESO QC BIAS OVERSCAN MED"
89#define DETMON_QC_BIAS_OVERSCAN_MED_C "Bias median level (on overscan region) [ADU]"
91#define DETMON_QC_BIAS_OVERSCAN_RON "ESO QC BIAS OVERSCAN RON"
92#define DETMON_QC_BIAS_OVERSCAN_RON_C "Bias Read Out Noise (on overscan region) [e- rms]"
94#define DETMON_QC_BIAS_REGION_VAL "ESO QC BIAS REGION VAL"
95#define DETMON_QC_BIAS_REGION_VAL_C "Bias level (o#include <cpl.h>n user defined region) [ADU]"
97#define DETMON_QC_BIAS_REGION_MED "ESO QC BIAS REGION MED"
98#define DETMON_QC_BIAS_REGION_MED_C "Bias median level (on user defined region) [ADU]"
100#define DETMON_QC_BIAS_REGION_RON "ESO QC BIAS REGION RON"
101#define DETMON_QC_BIAS_REGION_RON_C "Bias Read Out Noise (on user defined region) [e- rms]"
105#define detmon_ronbias_get_description(RECIPE_NAME, PIPE_NAME, \
106 DETMON_RONBIAS_RAW) \
107 RECIPE_NAME " -- " PIPE_NAME " ronbias recipe for OPT/IR.\n" \
108 "The files listed in the Set Of Frames must be tagged:\n" \
109 "raw-file.fits "DETMON_RONBIAS_RAW"\n"
111#define RANDOM ((irplib_ronbias_method) 1 << 1)
112#define HISTO ((irplib_ronbias_method) 1 << 2)
113#define PREOVERSCAN ((irplib_ronbias_method) 1 << 3)
114#define REGION ((irplib_ronbias_method) 1 << 4)
116typedef unsigned long irplib_ronbias_method;
119#define REGEXP "ARCFILE|MJD-OBS|ESO TPL ID|DATE-OBS|ESO DET DIT|ESO DET NDIT"
127irplib_imagelist_collapse_stdev_create(
const cpl_imagelist * imlist);
130detmon_ronbias(cpl_frameset *,
131 const cpl_parameterlist *,
136 const cpl_propertylist *,
137 const cpl_propertylist *,
138 const cpl_propertylist *,
139 const cpl_propertylist *,
140 const cpl_propertylist *,
141 const cpl_propertylist *,
142 const cpl_propertylist *,
144 int (*)(
const cpl_frame *,
150detmon_ronbias_fill_parlist_default(cpl_parameterlist *,
156detmon_ronbias_fill_parlist(cpl_parameterlist *,
184detmon_ronbias_histo_reduce(
const cpl_image * c_raw,
189detmon_build_synthetic(cpl_image *,
193irplib_flux_get_bias_window(
const cpl_image *,