35#include "catalogue/casu_utils.h"
37#include "casu_stats.h"
38#include "catalogue/casu_fits.h"
87extern int casu_mkconf(cpl_image *flat,
char *flatfile, casu_mask *bpm,
88 cpl_image **outconf, cpl_propertylist **drs,
95 const char *fctid =
"casu_mkconf";
101 if (*status != CASU_OK)
106 nx = (int)cpl_image_get_size_x(flat);
107 ny = (int)cpl_image_get_size_y(flat);
110 cpl_msg_error(fctid,
"Input image sizes don't match!");
116 if ((fdata = cpl_image_get_data_float(flat)) == NULL) {
117 cpl_msg_error(fctid,
"Unable to map flat data!");
124 odata = cpl_malloc(npts*
sizeof(*odata));
133 for (i = 0; i < npts; i++) {
135 odata[i] = max(0,min(110,(
int)(100*fdata[i]/mean)));
145 *outconf = cpl_image_wrap_int((cpl_size)nx,(cpl_size)ny,odata);
149 *drs = cpl_propertylist_new();
150 cpl_propertylist_update_string(*drs,
"ESO DRS FLATIN",flatfile);
151 cpl_propertylist_set_comment(*drs,
"ESO DRS FLATIN",
152 "Flat used to create this conf map");
155 cpl_propertylist_update_string(*drs,
"ESO DRS BPMIN",
158 cpl_propertylist_update_string(*drs,
"ESO DRS BPMIN",
"None available");
159 cpl_propertylist_set_comment(*drs,
"ESO DRS BPMIN",
160 "BPM used to create this conf map");
unsigned char * casu_mask_get_data(casu_mask *m)
int casu_mask_get_size_y(casu_mask *m)
int casu_mask_get_type(casu_mask *m)
const char * casu_mask_get_filename(casu_mask *m)
int casu_mask_get_size_x(casu_mask *m)
int casu_mkconf(cpl_image *flat, char *flatfile, casu_mask *bpm, cpl_image **outconf, cpl_propertylist **drs, int *status)
Create a confidence map.
float casu_mean(float *data, unsigned char *bpm, long npts)