38 #include "irplib_detmon_lg.h"
39 #include "irplib_plugin.h"
42 #define NACO_IMG_LINGAIN_ON_RAW "CAL_LINGAIN_LAMP"
43 #define NACO_IMG_LINGAIN_OFF_RAW "CAL_LINGAIN_DARK"
45 #define RECIPE_NAME "naco_img_lingain"
48 #define INSTREGEXP "ESO DET MODE NAME|ESO DET NCORRS NAME|" \
49 "ESO INS OPTI7 NAME|ESO INS OPTI6 NAME|" \
50 "ESO INS OPTI5 NAME|ESO INS OPTI4 NAME"
52 #define PAFREGEXP "^(" REGEXP "|" INSTREGEXP ")$"
56 #ifndef NACO_REF_LEVEL
60 #define NACO_REF_LEVEL 2000
66 cpl_recipe_define(naco_img_lingain, NACO_BINARY_VERSION,
67 "Lars Lundin", PACKAGE_BUGREPORT,
"2007",
68 "Linearity/Gain recipe for the IR domain",
69 irplib_detmon_lg_get_description(RECIPE_NAME,
"NACO",
70 NACO_IMG_LINGAIN_ON_RAW,
71 NACO_IMG_LINGAIN_OFF_RAW));
93 static int naco_img_lingain(cpl_frameset * frameset,
94 const cpl_parameterlist * parlist)
97 cpl_propertylist * pro_lintbl = cpl_propertylist_new();
98 cpl_propertylist * pro_gaintbl = cpl_propertylist_new();
99 cpl_propertylist * pro_coeffscube = cpl_propertylist_new();
100 cpl_propertylist * pro_bpm = cpl_propertylist_new();
101 cpl_propertylist * pro_corr = cpl_propertylist_new();
102 cpl_propertylist * pro_diff = cpl_propertylist_new();
103 cpl_error_code error = CPL_ERROR_NONE;
105 error |= cpl_propertylist_append_string(pro_lintbl,
"ESO PRO CATG",
107 error |= cpl_propertylist_append_string(pro_gaintbl,
"ESO PRO CATG",
109 error |= cpl_propertylist_append_string(pro_coeffscube,
"ESO PRO CATG",
111 error |= cpl_propertylist_append_string(pro_bpm,
"ESO PRO CATG",
113 error |= cpl_propertylist_append_string(pro_corr,
"ESO PRO CATG",
115 error |= cpl_propertylist_append_string(pro_diff,
"ESO PRO CATG",
118 error |= irplib_detmon_lg(frameset,
120 NACO_IMG_LINGAIN_ON_RAW,
121 NACO_IMG_LINGAIN_OFF_RAW,
131 PACKAGE
"/" PACKAGE_VERSION,
134 cpl_propertylist_delete(pro_lintbl);
135 cpl_propertylist_delete(pro_gaintbl);
136 cpl_propertylist_delete(pro_coeffscube);
137 cpl_propertylist_delete(pro_bpm);
138 cpl_propertylist_delete(pro_corr);
139 cpl_propertylist_delete(pro_diff);
142 cpl_ensure_code(!error, cpl_error_get_code());
144 return CPL_ERROR_NONE;
158 cpl_error_code naco_img_lingain_fill_parameterlist(cpl_parameterlist *
self)
161 cpl_error_code error =
162 irplib_detmon_lg_fill_parlist_nir_default(
self, RECIPE_NAME, PACKAGE);
165 cpl_ensure_code(!error, error);
169 p = cpl_parameterlist_find(
self, PACKAGE
"." RECIPE_NAME
".ref_level");
171 cpl_ensure_code(p != NULL, CPL_ERROR_DATA_NOT_FOUND);
173 error = cpl_parameter_set_default_int(p, NACO_REF_LEVEL);
175 cpl_ensure_code(!error, error);
177 return CPL_ERROR_NONE;