34#include <casu_utils.h>
38 int status,retval,nx,ny,nbsize,npts,j;
39 float *map,*skyout,avback;
41 cpl_image *maptest,*test;
47 cpl_test_init(PACKAGE_BUGREPORT,CPL_MSG_WARNING);
59 maptest = cpl_image_new((cpl_size)nx,(cpl_size)ny,CPL_TYPE_FLOAT);
60 bpmtest = cpl_image_get_bpm(maptest);
61 map = cpl_image_get_data_float(maptest);
62 bpm = cpl_mask_get_data(bpmtest);
64 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
65 cpl_test_eq(status,CASU_FATAL);
66 cpl_test_eq(status,retval);
67 cpl_test_null(skyout);
75 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
76 cpl_test_eq(status,CASU_FATAL);
77 cpl_test_eq(status,retval);
78 cpl_test_null(skyout);
83 map = cpl_image_get_data_float(maptest);
84 bpm = cpl_mask_get_data(bpmtest);
86 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
87 cpl_test_eq(status,CASU_FATAL);
88 cpl_test_eq(status,retval);
89 cpl_test_null(skyout);
95 for (j = 0; j < npts; j++)
97 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
98 cpl_test_eq(status,CASU_FATAL);
99 cpl_test_eq(status,retval);
100 cpl_test_null(skyout);
105 memset(bpm,0,npts*
sizeof(cpl_binary));
107 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
108 cpl_test_eq(status,CASU_FATAL);
109 cpl_test_eq(status,retval);
110 cpl_test_null(skyout);
118 cpl_image_fill_noise_uniform(maptest,1990.0,2010.0);
119 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
120 cpl_test_eq(status,CASU_OK);
121 cpl_test_eq(status,retval);
122 cpl_test_nonnull(skyout);
123 cpl_test_rel(avback,2000.0,0.1);
124 test = cpl_image_wrap_float((cpl_size)nx,(cpl_size)ny,skyout);
125 val = cpl_image_get_mean_window(test,480,520,480,520);
126 cpl_test_rel(val,2000.0,0.1);
127 cpl_image_unwrap(test);
134 cpl_image_fill_window(maptest,500,500,520,520,3000.0);
135 cpl_mask_threshold_image(bpmtest,(
const cpl_image *)maptest,
136 2999.0,3001.0,CPL_BINARY_1);
137 retval =
casu_backmap(map,bpm,nx,ny,nbsize,&avback,&skyout,&status);
138 cpl_test_eq(status,CASU_OK);
139 cpl_test_eq(status,retval);
140 cpl_test_nonnull(skyout);
141 cpl_test_rel(avback,2000.0,0.1);
142 test = cpl_image_wrap_float((cpl_size)nx,(cpl_size)ny,skyout);
143 val = cpl_image_get_mean_window(test,480,520,480,520);
144 cpl_image_unwrap(test);
149 cpl_image_delete(maptest);
150 return(cpl_test_end(0));
int casu_backmap(float *map, cpl_binary *bpm, int nx, int ny, int nbsize, float *avback, float **skymap, int *status)
Model background of an image.