58#define MODULE_ID "XSH_IFU_TRACE_SLICES"
60#define SYNTAX "Computes the ifu slices positio \n"\
61 "use : ./test_xsh_ifu_trace_slices IFU_FLAT.fits SLIT_FLATS.fits ORDER_TAB_CENTR\n"
74int main(
int argc,
char** argv)
76 char *ifu_flat_name = NULL;
77 char *slit_flat_name = NULL;
80 cpl_image* lx_ima=NULL;
81 cpl_image* ly_ima=NULL;
82 cpl_image* scharr_x_ima=NULL;
83 cpl_image* scharr_y_ima=NULL;
84 cpl_image* ifu_flat_ima=NULL;
85 cpl_image* slit_flat_ima=NULL;
86 cpl_image* ratio_ima=NULL;
92 cpl_msg_set_level( CPL_MSG_DEBUG);
97 ifu_flat_name = argv[1];
98 slit_flat_name = argv[2];
108 check(ifu_flat_ima=cpl_image_load(ifu_flat_name,CPL_TYPE_FLOAT,0,0));
109 check(slit_flat_ima=cpl_image_load(slit_flat_name,CPL_TYPE_FLOAT,0,0));
115 check(cpl_image_save(lx_ima,
"lx.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
116 check(cpl_image_save(ly_ima,
"ly.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
122 check(cpl_image_save(scharr_x_ima,
"scharr_x.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
123 check(cpl_image_save(scharr_y_ima,
"scharr_y.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
132 check(
max=cpl_image_get_max(scharr_x_ima));
133 check(cpl_image_divide_scalar(scharr_x_ima,
max));
142 check(
max=cpl_image_get_max(scharr_y_ima));
143 check(cpl_image_divide_scalar(scharr_y_ima,
max));
146 check(cpl_image_save(scharr_x_ima,
"scharr_x_n.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
147 check(cpl_image_save(scharr_y_ima,
"scharr_y_n.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
150 check(cpl_image_divide(ifu_flat_ima,slit_flat_ima));
164 check(cpl_image_save(lx_ima,
"lx_norm.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
165 check(cpl_image_save(ly_ima,
"ly_norm.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
166 check(cpl_image_save(scharr_x_ima,
"scharr_x_norm.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
167 check(cpl_image_save(scharr_y_ima,
"scharr_y_norm.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
169 check(cpl_image_save(ifu_flat_ima,
"ifu_norm.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));
181 if (cpl_error_get_code() != CPL_ERROR_NONE) {
int main()
Unit test of xsh_bspline_interpol.
#define xsh_error_dump(level)
#define XSH_ASSURE_NOT_NULL(pointer)
void xsh_free_image(cpl_image **i)
Deallocate an image and set the pointer to NULL.
int xsh_debug_level_set(int level)
set debug level
#define TESTS_INIT(DRL_ID)
cpl_image * xsh_sobel_lx(cpl_image *in)
Compute X Sobel filter transformation.
cpl_image * xsh_scharr_y(cpl_image *in)
Compute Y Scharr filter transformation.
cpl_image * xsh_sobel_ly(cpl_image *in)
Compute Y Sobel filter transformation.
cpl_image * xsh_scharr_x(cpl_image *in)
Compute X Scharr filter transformation.