32 #include <fors_bias_impl.h>
34 #include <fors_utils.h>
36 #include <test_simulate.h>
50 cpl_frameset_delete(frames); \
51 cpl_parameterlist_delete(parameters); \
52 fors_setting_delete(&setting); \
53 fors_image_delete(&raw_bias); \
54 fors_image_delete(&master_bias); \
55 cpl_propertylist_delete(product_header); \
65 cpl_frameset *frames = cpl_frameset_new();
66 cpl_parameterlist *parameters = cpl_parameterlist_new();
71 cpl_propertylist *product_header = NULL;
76 const char *bias_filename[] = {
"bias_1.fits",
85 for (i = 0; i <
sizeof(bias_filename)/
sizeof(
char *); i++) {
86 cpl_frameset_insert(frames,
88 BIAS, CPL_FRAME_GROUP_RAW));
94 fors_bias_define_parameters(parameters);
95 assure( !cpl_error_get_code(),
return,
96 "Create parameters failed");
101 fors_bias(frames, parameters);
102 assure( !cpl_error_get_code(),
return,
106 const char *
const product_tags[] = {MASTER_BIAS};
107 const char *
const qc[] =
108 {
"QC BIAS STRUCT",
"QC BIAS LEVEL",
"QC RON",
"QC BIAS FPN",
110 "QC MBIAS RONEXP",
"QC MBIAS NOISE",
"QC MBIAS NRATIO",
"QC MBIAS STRUCT"};
112 product_tags,
sizeof product_tags /
sizeof *product_tags,
114 qc,
sizeof qc /
sizeof *qc);
119 test( cpl_frameset_find(frames, BIAS) != NULL );
122 cpl_frameset_find(frames, MASTER_BIAS));
125 cpl_frameset_find(frames, BIAS));
137 cpl_propertylist_load(cpl_frame_get_filename(
138 cpl_frameset_find(frames,
141 assure( product_header != NULL,
return, NULL );
143 test_abs( cpl_propertylist_get_double(product_header,
144 "ESO QC BIAS LEVEL"),
147 test_abs( cpl_propertylist_get_double(product_header,
148 "ESO QC MBIAS LEVEL"),
151 test_rel( cpl_propertylist_get_double(product_header,
156 test_abs( cpl_propertylist_get_double(product_header,
"ESO QC BIAS FPN"),
157 cpl_propertylist_get_double(product_header,
"ESO QC RON"),
158 cpl_propertylist_get_double(product_header,
"ESO QC RON"));
160 test_abs( cpl_propertylist_get_double(product_header,
161 "ESO QC BIAS STRUCT"),
cpl_frame * create_bias(const char *filename, const char *tag, cpl_frame_group group)
Simulate bias image.
fors_setting * fors_setting_new(const cpl_frame *raw)
Create setting from FITS header.
double fors_image_get_stdev(const fors_image *image, double *dstdev)
Get empirical stdev of data.
fors_image * fors_image_load(const cpl_frame *frame)
Load image.
double fors_image_get_mean(const fors_image *image, double *dmean)
Get mean data value.
int main(void)
Test of image module.
void test_recipe_output(const cpl_frameset *frames, const char *const product_tags[], int n_prod, const char *main_product, const char *const qc[], int n_qc)
Test existence of recipe products.
double fors_image_get_median(const fors_image *image, double *dmedian)
Get median data value.
void fors_parameterlist_set_defaults(cpl_parameterlist *parlist)
Set unset parameters to default value.
double fors_image_get_error_mean(const fors_image *image, double *dmean)
Get mean of error bars.
static void test_bias(void)
Test bias recipe.