33 #include <casu_fits.h>
34 #include <casu_utils.h>
35 #include <casu_mods.h>
39 cpl_propertylist *prop,*phu,*ehu;
40 cpl_image *out,*outc,*im;
41 casu_fits *infits[2],*inconfs[2];
47 cpl_test_init(PACKAGE_BUGREPORT,CPL_MSG_WARNING);
53 retval =
casu_imdither(NULL,NULL,10,10,100.0,100.0,&prop,
"EXPTIME",
55 cpl_test_eq(status,CASU_FATAL);
56 cpl_test_eq(status,retval);
61 retval =
casu_imdither(NULL,NULL,0,10,100.0,100.0,&prop,
"EXPTIME",
63 cpl_test_eq(status,CASU_FATAL);
64 cpl_test_eq(status,retval);
71 for (i = 0; i < 2; i++) {
72 ave = 100.0*(float)(i+1);
75 im = cpl_image_new(100,100,CPL_TYPE_FLOAT);
76 cpl_image_fill_noise_uniform(im,val1,val2);
77 phu = cpl_propertylist_new();
78 ehu = cpl_propertylist_new();
79 off = (i == 0 ? 0.0 : 50.0);
80 cpl_propertylist_update_float(ehu,
"ESO DRS XOFFDITHER",off);
81 cpl_propertylist_update_float(ehu,
"ESO DRS YOFFDITHER",0.0);
83 cpl_propertylist_delete(phu);
84 cpl_propertylist_delete(ehu);
88 im = cpl_image_new(100,100,CPL_TYPE_INT);
89 cpl_image_fill_noise_uniform(im,val1,val2);
90 phu = cpl_propertylist_new();
91 ehu = cpl_propertylist_new();
93 cpl_propertylist_delete(phu);
94 cpl_propertylist_delete(ehu);
100 retval =
casu_imdither(infits,inconfs,2,2,100.0,100.0,&prop,
"EXPTIME",
102 cpl_test_eq(status,CASU_OK);
103 cpl_test_eq(status,retval);
104 cpl_test_nonnull(prop);
105 cpl_test_nonnull(out);
106 cpl_test_nonnull(outc);
107 cpl_test_eq(150,cpl_image_get_size_x(out));
108 cpl_test_eq(100,cpl_image_get_size_y(out));
109 cpl_test_rel(100.0,cpl_image_get_mean(out),0.001);
113 cpl_propertylist_delete(prop);
114 cpl_image_delete(out);
115 cpl_image_delete(outc);
116 for (i = 0; i < 2; i++) {
120 return(cpl_test_end(0));
void casu_fits_delete(casu_fits *p)
casu_fits * casu_fits_wrap(cpl_image *im, casu_fits *model, cpl_propertylist *phu, cpl_propertylist *ehu)
int casu_imdither(casu_fits **inf, casu_fits **inconf, int nimages, int nconfs, float lthr, float hthr, cpl_propertylist **p, const char *expkey, cpl_image **out, cpl_image **outc, int *status)
Dither a set of jittered observations.